输入:
These are some numbers aklö0/4:asfasd;assdf...asf8/8asdfklöjsdfv7/7asdf8/6 sdf 5/5 asdfasdf3/3 asdf 2/2 asdf7/7asfasdf:::::::7/6;;;;;;6/6asdf9/9......alright
sed命令应用于上述输入:
sed 's/\(.\/.\).*\(.\/.\).*\(.\/.\).*\(.\/.\).*\(.\/.\).*\(.\/.\).*\(.\/.\).*\(.\/.\).*\(.\/.\).*\(.\/.\).*\(.\/.\).*/\1\t\2\t\3\t\4\t\5\t\6\t\7\t\8\t\9\t\10\t\11/g' infile > outfile
预期输出:
These are some numbers 0/4 8/8 7/7 8/6 5/5 3/3 2/2 7/7 7/6 6/6 9/9 alright
遇到问题: 但它用0/40和8/81取代了最后两个。 它就像它只能记住9件事。
答案 0 :(得分:3)
正确。见The s Command:
替换可以包含\ n(n是从1到9的数字, 包含)引用,指的是匹配的部分 包含在第n个(和它的匹配)之间。而且, 替换可以包含未转义的&参考的人物 图案空间的整个匹配部分。最后,作为GNU sed 扩展名,你可以包含一个由反斜杠组成的特殊序列 字母L,l,U,u或E中的一个。