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