有一串字符串 ab\ncd。我希望将其分为 ab 和cd 两个子字符串该怎么做
下面的代码该怎么改
echo "ab\ncd" | awk '{split($0, x, "\n"); print x[1] x[2]}'
我期待的输出是 ab cd
有一串字符串 ab\ncd。我希望将其分为 ab 和cd 两个子字符串该怎么做
下面的代码该怎么改
echo "ab\ncd" | awk '{split($0, x, "\n"); print x[1] x[2]}'
我期待的输出是 ab cd
感觉合适麻烦采纳下,谢谢
要在awk中使用字符串"\n"作为分隔符,你需要对字符串进行转义。在awk中,表示换行符的转义序列是"\n",而不是直接使用"\n"字符串。
修改后的代码:
echo -e "ab\ncd" | awk -F "\\n" '{print $1, $2}'
在这个命令中,使用-e选项启用了echo的转义功能,使得"\n"被解释为换行符。然后,使用-F选项将"\n"作为分隔符传递给awk,并使用$1和$2分别打印第一个和第二个子字符串。
输出:
ab cd