如何在Awk

时间:2015-08-17 09:25:51

标签: unix awk

到处搜索谷歌搜索,我找不到任何东西。我试图解决这个问题...如何在一行的末尾打印出实际的\ n字符,以便在输出文件中显示出来:

东西的东西\ n 什么东西\ n 什么东西\ n 什么东西\ n

感谢任何和所有帮助。

1 个答案:

答案 0 :(得分:7)

我相信您所要做的就是通过以下方式逃避\n中的斜杠:\\n

这是一个简单的例子:

ll | awk '{ printf "%s\\n\n",$1 }'

这应打印当前目录中每个文件的权限列,并在每行输入后插入一个文字换行符\n,然后插入一个实际的换行符。

结果应如下所示:

drwxrwxr-x.\n
-rw-rw-r--.\n
-rw-rw-r--.\n
-rwxrwxr-x.\n
-rwxrwxr-x.\n
drwxrwxr-x.\n
drwxrwxr-x.\n

如您所见,每行末尾都有一个文字\n

如果你不想要任何真实的"换行符并将所有输出放在一行,您可以从\n语句中删除第二个printf

ll | awk '{ printf "%s\\n",$1 }'

这将使您的输出与您在问题中提到的输出非常相似,并在每个输入行附加一个文字\n

\n-rwxrwxr-x.\ndrwxrwxr-x.\n-rw-rw-r--.\n-rwxrwxr-x.\ndrwxrwxr-x.\n-rw-rw-r--.\ndrwxrwxr-x.\n-rw-rw-r--.\n