我有一个包含如下行的文件:
some thing <phrase>a phrase</phrase> some thing else <phrase>other stuff</phrase>
我需要将所有
sed 's@>\s+[</]@_@g' perl -pe 'sub c{$s=shift;$s=~s/ /_/g;$s}s/>.*?[<\/]/c$&/ge'
sed 's@\(\[>^[<\/]]*\)\s+@\1_@g'
awk -v RS='\\[>^[<\]/]*\\]' '{ gsub(/\<(\s+)\>/, "_", RT); printf "%s%s", $0, RT }' infile 我一直在看这两个问题,试图修改答案以使用我需要的字符。
sed substitute whitespace for dash only between specific character patterns https://unix.stackexchange.com/questions/63335/how-to-remove-all-white-spaces-just-between-brackets-using-unix-tools 请问有人可以帮忙吗?
some thing <phrase>a phrase</phrase> some thing else <phrase>other stuff</phrase>
我需要将所有
<phrase>
标签之间的空格替换为下划线。所以基本上我需要将>
和</
之间的每个空格都替换为下划线。我尝试了许多不同的命令,包括sed、awk和perl,但没有一个能运行成功。以下是我尝试过的一些命令。sed 's@>\s+[</]@_@g' perl -pe 'sub c{$s=shift;$s=~s/ /_/g;$s}s/>.*?[<\/]/c$&/ge'
sed 's@\(\[>^[<\/]]*\)\s+@\1_@g'
awk -v RS='\\[>^[<\]/]*\\]' '{ gsub(/\<(\s+)\>/, "_", RT); printf "%s%s", $0, RT }' infile 我一直在看这两个问题,试图修改答案以使用我需要的字符。
sed substitute whitespace for dash only between specific character patterns https://unix.stackexchange.com/questions/63335/how-to-remove-all-white-spaces-just-between-brackets-using-unix-tools 请问有人可以帮忙吗?