
ファイルがあるとしましょう。
foo bar
foo1 bar1
各行の2番目の単語をすべて切り取り、ファイルを次のように作成したいと思います。
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
今回は、標準入力からパイプされた最初と3番目の列を取得します。
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'