GNU/Linux >> Linux の 問題 >  >> Linux

ベースファイル名のみを出力するように `ls` に指示します

xargs -0 の間 \0 で区切られた入力に使用することを意図しています (find -print0 のように) )、ls この方法で出力を区切るオプションはありません。

ただし、

ls -1 /path/glob | tr '\n' '\0' | xargs -0 -n 1 basename

途中で改行をヌルに変換するトリックを行います。これにより、xargs がスペースを含む名前を処理できるようになります。

編集:-n 1 を追加 xargsへ


私はこれを使用します:

ls | tr '\n' '\n'

次のようなリストが得られます:

file1.mp3
file2.mp3
file3.mp3
...

ls -1 <path> | sed 's#.*/##'

Linux
  1. xargsコマンドの実用的なビュー

  2. 一致した文字列のみをSedで返しますか?

  3. 画面の一部のみを使用するようにXorgを設定しますか?

  1. 〜/ .profileを読み直すようにGnomeに指示する方法は?

  2. ファイル名の末尾のチルダ(〜)はどういう意味ですか?

  3. `ls`が出力をソートしないようにするにはどうすればよいですか?

  1. 一致する行と一致する行からN番目の行を印刷しますか?

  2. ファイルの内容を空にする最も効率的な方法は?

  3. 成功した場合にのみシェル コマンドの出力を非表示にしますか?