ls
vsのさまざまな出力を見てください。ls -1
$ ls
filea1.txt fileb.txt listB1.xml listC.xml
filea.txt listA1.xml listB.xml 'name with spaces 2.txt'
fileb1.txt listA.xml listC1.xml 'name with spaces.txt'
$ ls -1
filea1.txt
filea.txt
fileb1.txt
fileb.txt
listA1.xml
listA.xml
listB1.xml
listB.xml
listC1.xml
listC.xml
'name with spaces 2.txt'
'name with spaces.txt'
私は大丈夫です。出力をファイルにリダイレクトすると、状況が異なります。ファイルが異なると思いましたが、同じです。
$ ls -1>/tmp/ls-1.out
$ ls >/tmp/ls.out
$ cat /tmp/ls-1.out
filea1.txt
filea.txt
fileb1.txt
fileb.txt
listA1.xml
listA.xml
listB1.xml
listB.xml
listC1.xml
listC.xml
name with spaces 2.txt
name with spaces.txt
$ cat /tmp/ls.out
filea1.txt
filea.txt
fileb1.txt
fileb.txt
listA1.xml
listA.xml
listB1.xml
listB.xml
listC1.xml
listC.xml
name with spaces 2.txt
name with spaces.txt
ファイルへのリダイレクトがない場合など、後者が出力列が1つで複数列ではないのはなぜですか?
ベストアンサー1
-1
ls
出力がリダイレクトされると、デフォルトで有効になります。
厳密に言えば、デフォルトの出力形式は次のとおりです-1
。POSIXで指定されたとおり:
デフォルトの形式は、端末またはオプションのいずれかが
-C
指定されている場合を除き、標準出力に1行に1つの項目をリストすることです。端末に出力する場合、フォーマットは実装によって定義されます。-m
-x
明示的に指定して、列形式の出力をファイルに強制的に適用できます-C
。
ls -C > /tmp/ls-C.out