在sed替换中保留多个字符串

在sed替换中保留多个字符串,sed,Sed,输入: 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 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 sed命令应用于上述

输入:

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 
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
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 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 
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件事一样

正确。见:

替换项可以包含\n(n是从1到9的数字, 包括)参考,指的是匹配的 包含在第n个(及其匹配项)之间。此外, 替换可以包含引用 模式空间的整个匹配部分。最后,作为一个GNU成员 扩展名,可以包含由反斜杠和 字母L、L、U、U或E中的一个

对。见:

替换项可以包含\n(n是从1到9的数字, 包括)参考,指的是匹配的 包含在第n个(及其匹配项)之间。此外, 替换可以包含引用 模式空间的整个匹配部分。最后,作为一个GNU成员 扩展名,可以包含由反斜杠和 字母L、L、U、U或E中的一个

对。见:

替换项可以包含\n(n是从1到9的数字, 包括)参考,指的是匹配的 包含在第n个(及其匹配项)之间。此外, 替换可以包含引用 模式空间的整个匹配部分。最后,作为一个GNU成员 扩展名,可以包含由反斜杠和 字母L、L、U、U或E中的一个

对。见:

替换项可以包含\n(n是从1到9的数字, 包括)参考,指的是匹配的 包含在第n个(及其匹配项)之间。此外, 替换可以包含引用 模式空间的整个匹配部分。最后,作为一个GNU成员 扩展名,可以包含由反斜杠和 字母L、L、U、U或E中的一个


如果需要9个以上的反向引用,请使用多个替换命令。''sed's/(.\/)..'.\/。'.\/)/\1\2/g'''.'告诉我:''.'这些是一些数字0/09/9,好吧',所以我在下次替换之前丢失了所有内容。如果需要9个以上的反向引用,请使用多个替换命令。''sed's/(.\/)..\/。。。'.\/。。。'/\1\2/g'')给了我以下信息:''这些是一些数字0/09/9,好吧',所以我在下次替换之前丢失了所有内容。如果需要9个以上的反向引用,请使用多个替换命令。''sed's/(.\/).*(.\/)/\1\2/g'''给我这个:'这些是一些数字0/09/9,好吧',所以我在下次替换之前丢失了所有的东西。如果你想要超过9个反向引用,请使用多个替换命令。'sed's/(.\/).*(.\/)。\1\2/g''给我这个:'这些是一些数字0/09/9,好吧',所以我在下次替换之前丢失了所有的东西。