名前に空白を含むファイルのみをリストしたいと思います。
たとえば、コマンドtouch " "
を使用して作成されたファイル。
これは、3つの空白を含むファイルを作成します。
次のコマンドを使用していますが、目的のファイルがリストされていません。
ls -lart | grep '[^a-zA-Z0-9]'
名前に空白を含むファイルのみをリストしたいと思います。
たとえば、コマンドtouch " "
を使用して作成されたファイル。
これは、3つの空白を含むファイルを作成します。
次のコマンドを使用していますが、目的のファイルがリストされていません。
ls -lart | grep '[^a-zA-Z0-9]'
Do not parse ls
。代わりに、あなたは正規表現をfind
を使用することができます。
find . -regextype posix-extended -regex '^.*/ *$'
man find
がこれは、パス全体の一致ではなく、検索で、私たちは(ジョンKugelmanにクレジットを)言うことができると言うので:
find . -regextype posix-extended -regex '.*/ *'
これにより、複数のスペースで構成されるファイルが検索されます。
ファイル名と同じ方法でもリストすることができます。名前でも、それと一致するパターンでも指定できます。
ls -lart " "
パターンがbash
でshopt -s extglob
を(他のシェルがsimliar何かを持っている場合があります)が必要です。 1つの可能性:
ls -lart "+([[:space:]])"
@ JohnKugelman true、私はそのような場合をチェックしなかった。ありがとう、適切な正規表現を使用するように更新 – fedorqui
アンカーは必要ありません。 manページには次のように書かれています。「これは検索ではなくパス全体で一致します。 –
貴重な情報をお寄せいただきありがとうございます。今私はlsを解析に使用しません。あなたはfindコマンドの使用に関連する良い記事をいくつか共有してください。 –