在awk中使用两个字符串“\n”的字段分隔符
我的输入文件中有一个分隔字段的换行符的纯文本表示:在awk中使用两个字符串“\n”的字段分隔符,awk,gawk,Awk,Gawk,我的输入文件中有一个分隔字段的换行符的纯文本表示: First line\nSecond line\nThird line 我希望以下内容用换行符\n替换该文本: $ awk 'BEGIN { FS = "\\n"; OFS = "\n" } { print $1 }' test.txt
First line\nSecond line\nThird line
我希望以下内容用换行符\n替换该文本:
$ awk 'BEGIN { FS = "\\n"; OFS = "\n" } { print $1 }' test.txt
First line\nSecond line\nThird line
但它并不支持4.0.1/OpenBSD-nawk 20110810
我只允许在\:
我也可以在gawk中使用角色类:
$ awk 'BEGIN { FS = "[[:punct:]]n"; OFS = "\n" } { $1 = $1; print $0 }' test.txt
First line
Second line
Third line
但是我觉得我应该能够指定确切的分隔符。字段分隔符是一种regexp类型,当使用动态regexp时,需要双重转义所有内容:
$ awk 'BEGIN { FS = "\\\\n"; OFS = "\n" } { print $1 }' file
First line
有关详细信息,请参见手册页。字段分隔符是regexp的一种类型,当使用动态regexp时,需要双重转义所有内容:
$ awk 'BEGIN { FS = "\\\\n"; OFS = "\n" } { print $1 }' file
First line
有关详细信息,请参阅手册页。这里sed可能是执行此任务的更好工具
sed 's/\\n/\n/g'
这里sed可能是执行此任务的更好工具
sed 's/\\n/\n/g'
re better tool:我在帖子中举了一个最小的例子,是的。对于我需要的原始程序,需要使用awk,它只是有一个奇怪的记录分隔符。你总是可以分而治之sed's/\\n/\n/g'| awk'…是更好的工具:在我的帖子中,至少举一个例子,是的。对于我需要的原始程序,需要使用awk,它只是有一个奇怪的记录分隔符。你总是可以分而治之sed's/\\n/\n/g'| awk'。。。