Bash 需要sed命令来替换axpression的中间部分
我正在寻找允许移动的sed表达式:Bash 需要sed命令来替换axpression的中间部分,bash,sed,Bash,Sed,我正在寻找允许移动的sed表达式: expression1\expression2\expression3 到 当然,expression2在我需要执行命令的所有文件中都是不同的 目前,我的解决方案是将重点放在表达式2之间的两个'\',但我找不到正则表达式来匹配两个已知字符之间的任何单词 想一次完成吗?您可以尝试使用下面的sed命令将\中存在的所有字符(包括\)替换为\ $ echo 'expression1\expression2\expression3' | sed 's~\\.*\\~\
expression1\expression2\expression3
到
当然,expression2在我需要执行命令的所有文件中都是不同的
目前,我的解决方案是将重点放在表达式2之间的两个'\'
,但我找不到正则表达式来匹配两个已知字符之间的任何单词
想一次完成吗?您可以尝试使用下面的sed命令将
\
中存在的所有字符(包括\
)替换为\
$ echo 'expression1\expression2\expression3' | sed 's~\\.*\\~\\~g'
expression1\expression3
$ echo 'expression1\expression2\expression3' | sed 's~\\[^\\]*\\~\\~g'
expression1\expression3
您可以尝试使用下面的sed命令将
\
(包括\
)中存在的所有字符替换为\
$ echo 'expression1\expression2\expression3' | sed 's~\\.*\\~\\~g'
expression1\expression3
$ echo 'expression1\expression2\expression3' | sed 's~\\[^\\]*\\~\\~g'
expression1\expression3
您可以使用awk:
s='expression1\expression2\expression3'
awk 'BEGIN{FS=OFS="\\"} {print $1, $3}' <<< "$s"
expression1\expression3
s='expression1\expression2\expression3'
awk'BEGIN{FS=OFS=“\\”}{print$1,$3}'您可以使用awk:
s='expression1\expression2\expression3'
awk 'BEGIN{FS=OFS="\\"} {print $1, $3}' <<< "$s"
expression1\expression3
s='expression1\expression2\expression3'
awk'BEGIN{FS=OFS=“\\”}{print$1,$3}