したがって、ディレクトリや隠しファイルはありません。ファイルだけです。ファイルのみを一覧表示するには、次の行を使用します。
ls -p | grep -v /
ここで、この行の結果をカンマで区切るようにします。
答え1
tr
その仕事に使えます。
ls -p | grep -v / | tr '\n' ','
答え2
GNUls -m
コマンドを使用できます。このコマンドは、すべてのファイルとディレクトリをコンマで区切って出力します。
答え3
Thomas が提案した解決策は機能しますが、最後の項目にカンマが追加され (これは望ましくない可能性があります)、カンマの後のスペースが削除されます。次の代替案では、カンマの後のスペースが保持され、最後の項目の後にカンマは追加されません。
ls -1p | grep -v / | xargs echo | sed 's/ /, /g'
もちろん、項目間のスペースを削除したい場合は、sed 式を微調整するだけです。
ls -1p | grep -v / | xargs echo | sed 's/ /,/g'
(小文字の 'l' と数字の '1' (ワン) が同じに見えるフォントを使用している閲覧者への注意: に渡される最初のオプションは、小文字の ではなく、数字のls
です。)1
l
Jim L がコメントで指摘したように、上記のコマンドはスペースを含まないファイル名に対してのみ機能します。次のコマンドはこれを回避します:
ls -1p | grep -v / | sed 's/$/, /g' | xargs echo | sed 's/,$//g'
これは、リストを に渡す前に行末をコンマに置き換えますecho
。最後の部分では、リストの末尾にあるコマンドを削除します。