Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
如何替换awk中包含换行符的字符串?_Awk_Sed - Fatal编程技术网

如何替换awk中包含换行符的字符串?

如何替换awk中包含换行符的字符串?,awk,sed,Awk,Sed,我想使用awk处理一个文本文件,将“\n1-0”替换为“1-0” **错误在于: awk '{gsub("\n1-0", " 1-0"); print}' temp.txt >$TARGET 如何做到这一点?sed是更好的选择吗?您可以将记录分隔符设置为“无”: $ cat file tbname id department xyz 20 cic 1-0 xyz 21 csp xyz 22 cpz abc 25 cis abc 26 cta abc 27 tec $ a

我想使用awk处理一个文本文件,将“\n1-0”替换为“1-0”

**错误在于:

awk '{gsub("\n1-0", " 1-0"); print}' temp.txt >$TARGET

如何做到这一点?sed是更好的选择吗?

您可以将记录分隔符设置为“无”:

$ cat file
tbname  id  department
xyz 20  cic
1-0 xyz 21  csp
xyz 22  cpz
abc 25  cis
abc 26  cta
abc 27  tec

$ awk -v RS= '{gsub("\n1-0", " 1-0")}1' file
tbname  id  department
xyz 20  cic 1-0 xyz 21  csp
xyz 22  cpz
abc 25  cis
abc 26  cta
abc 27  tec

完美的非常感谢你!