在 cut 的输出中保留换行符

在 cut 的输出中保留换行符

假设我们有一个文件:

foo bar
foo1 bar1

我想剪切每一行中的每个第二个单词,所以我希望文件看起来像这样:

foo
foo1

我正在尝试使用cut -d ' ' -f -1,但我得到的是:

foo foo1

如何保留文件中的行结尾?

答案1

文件内容

john@caffe:~$ cat listing.txt
foo bar baz
foo1 bar1 baz1

仅获取第一列

john@caffe:~$ cut -d' ' -f1 listing.txt
foo
foo1

获取第一列和第三列,这次是通过管道从标准输入获取

john@caffe:~$ cat listing.txt | cut -d' ' -f1,3
foo baz
foo1 baz1

编辑:我想我知道你做错了什么

john@caffe:~$ foo=$(cut -d " " -f -1 listing.txt)
john@caffe:~$ echo $foo
foo foo1
john@caffe:~$ echo "$foo"
foo
foo1

答案2

检查--output-delimiter 剪切选项,即cut -f 1 -d ' ' --output-delimiter='\n'您的情况

相关内容