Bash 用括号替换括号和换行符
如果换行符之前的最后一个字符是左括号,我想删除它。因此:Bash 用括号替换括号和换行符,bash,shell,awk,sed,Bash,Shell,Awk,Sed,如果换行符之前的最后一个字符是左括号,我想删除它。因此: one two( three 应成为: one two(three one two(three 我用awk和sed做了一些尝试,但没有成功: awk '/\($/ {printf "%s ", $0} {print; next}' sed 's/($/(/g' 使用gnu-sed可以执行以下操作: sed '/($/{N;s/\n//;}' file 或使用awk: awk '/\($/{p=$0; getline; pr
one
two(
three
应成为:
one
two(three
one
two(three
我用awk和sed做了一些尝试,但没有成功:
awk '/\($/ {printf "%s ", $0} {print; next}'
sed 's/($/(/g'
使用
gnu-sed
可以执行以下操作:
sed '/($/{N;s/\n//;}' file
或使用awk
:
awk '/\($/{p=$0; getline; printf "%s", p} 1' file
使用
gnu-sed
可以执行以下操作:
sed '/($/{N;s/\n//;}' file
或使用awk
:
awk '/\($/{p=$0; getline; printf "%s", p} 1' file
使用awk:
正则表达式:\(\n
替换为:(
它打印:
使用awk:
正则表达式:\(\n
替换为:(
它打印:
那是赢家。起初我以为我们要删除
”(“
”,但你答对了问题的第2部分。两个都试过了,像丝绸一样光滑。干杯!那是赢家。最初我以为我们要删除(“
,但是你把问题的第二部分搞定了。两个都试过了,像丝绸一样光滑。干杯!使用getline
just doawk'/\($/{if(getline nextl>0)$0=$0“nextl}1”文件
使用getline
just doawk'/\($/{if(getline nextl>0)$0=$0“nextl}1”文件
one
two(three
awk '/^t/{printf $0}NR==1;END{print ""}' file
one
two(three