如何使用带有多个字符分隔符的剪切? UNIX

时间:2014-08-22 12:42:33

标签: sed delimiter cut

我的文件看起来像这样

abc ||| xyz ||| foo bar
hello world ||| spam ham jam ||| blah blah

我想提取一个特定的列,例如我本可以做到的:

sed 's/\s|||\s/\\t/g' file | cut -f1

但还有其他方法吗?

2 个答案:

答案 0 :(得分:28)

你可以这样做:

awk -F' \\|\\|\\| ' '{$0=$1}1' file

答案 1 :(得分:-1)

您可以使用awk来执行此操作 -

$ awk 'BEGIN {FS=" \|\|\| ";}{print $1}' file

用$ 2,$ 3等替换1美元