Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 替换连续的2个模式_Linux_Unix_Awk_Sed - Fatal编程技术网

Linux 替换连续的2个模式

Linux 替换连续的2个模式,linux,unix,awk,sed,Linux,Unix,Awk,Sed,输入文件: 101|12345|Stephen Lawrence\|Sam|02/02/16 102|12346|Michael\|Point|03/02/16 103|12347|Peter Man|01/02/16 预期输出文件: 101|12345|Stephen Lawrence Sam|02/02/16 102|12346|Michael Point|03/02/16 103|12347|Peter Man|01/02/16 101|12345|Stephen Lawren

输入文件:

101|12345|Stephen Lawrence\|Sam|02/02/16

102|12346|Michael\|Point|03/02/16

103|12347|Peter Man|01/02/16
预期输出文件:

101|12345|Stephen Lawrence Sam|02/02/16

102|12346|Michael Point|03/02/16

103|12347|Peter Man|01/02/16
101|12345|Stephen Lawrence Sam|02/02/16

102|12346|Michael Point|03/02/16

103|12347|Peter Man|01/02/16
要删除名称之间存在的
“\\\”

尝试:

sed -e 's/"\|"/ /g' input_file
但没有预期的产出

有什么意见吗

 sed 's/\\|/ /g' File
输出:

输出:


虽然此代码可以回答问题,但提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。虽然此代码可以回答问题,但提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。
awk '{sub(/e\\\|S/,"e S")sub(/l\\\|P/,"l P")}1' file

101|12345|Stephen Lawrence Sam|02/02/16

102|12346|Michael Point|03/02/16

103|12347|Peter Man|01/02/16