awk并匹配字符串中的文字反斜杠

时间:2014-10-14 00:41:50

标签: shell awk split delimiter backslash

我正试图沿字面“\ n”的分隔符剪切第一个子字符串(实际的'\'和'n'不是新行。)

我能够使用八进制分割'\'的字符串:

echo "1234\n5678" | awk -F'\134' '{print $1}'

但我无法弄清楚如何将八进制分割为更大字符串的一部分。例如,以下操作失败:

echo "1234\n5678" | awk -F'\134'n '{print $1}'

我可以使用sed对“\ n”进行字符串替换然后拆分,但是我不应该只使用awk来执行此操作吗?

1 个答案:

答案 0 :(得分:2)

首先,您不必使用\134。你可以-F '\\'。对于您的问题,您可以使用

    echo "1234\n5678" | awk -F '\\\\n' '{print $1}'

\用于转义\