ディレクトリ内のファイルのみをカンマで区切って一覧表示する方法

ディレクトリ内のファイルのみをカンマで区切って一覧表示する方法

したがって、ディレクトリや隠しファイルはありません。ファイルだけです。ファイルのみを一覧表示するには、次の行を使用します。

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です。)1l

Jim L がコメントで指摘したように、上記のコマンドはスペースを含まないファイル名に対してのみ機能します。次のコマンドはこれを回避します:

 ls -1p | grep -v / | sed 's/$/, /g' | xargs echo | sed 's/,$//g' 

これは、リストを に渡す前に行末をコンマに置き換えますecho。最後の部分では、リストの末尾にあるコマンドを削除します。

関連情報