質問: -rwxrwxrwx 1 76 2015-08-17 10:39 /aaa/bbb/ccc/001.txt -rwxrwxrwx 1 1046 2016-01-07 17:20 /aaa/bbb/ccc/002.txt -rwxrwxrwx 1 99166 2016-03-10 17:57 /aaa/bbb/ccc/003.txt -rwxrwxrwx 1 11462 2016-01-29 11:28 /aaa/bbb/ccc/004.txt -rwxrwxrwx 1 7915 2016-02-15 14:00 /aaa/bbb/ccc/005.txt コマンドライン:find ”パス” -exec ls -オプション {} \; |grep -v -f test.txt 内容としてはgrepでtest.txtを読み込んで、そこに書かれている文字列(パス)にマッチしないものだけをfindで表示します。その結果に対してlsをしている形です。 -execを使用している理由はディレクトリ名の中に「001 - コピー」のようにスペースが含まれているものがあるため、スペースをエスケープするために使っています。(-execによりサイズ部分のインデントが詰まる) 本題ですが、タイトル通りサイズの終端にインデントを合わせたいのです。もし上の表示結果が数百行あった場合などばらばらであると非常に見づらいものになってしまいます。何か方法はないでしょうか? ※満たしたい項目 1.指定したディレクトリを除外して上記のようにサイズやタイムスタンプを含めて表示。(grep等で除外) 2.除外するためのパターンファイルは絶対パスで。(相対パスでも行いたい。) 3.ディレクトリ名にスペースがあった場合異常を起こさないようにする。(1つのディレクトリとして認識させる) 4.サイズ部分のインデントをそろえる。 私が今行っているのやり方ですと、3番までは満たせているのですが4番ができない状況です。他のやり方があればそちらでもかまいませんので教えていただけたら嬉しいです。
回答: オプションが -l だとだめでしょうか? 色々インデントがそろってしまいますが・・・ 追記 申し訳ありません、寝ぼけてました・・・。 https://orebibou.com/2014/07/ls%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E8%A6%9A%E3%81%88%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E3%81%93%E3%81%A816%E5%80%8B/ このへんを参考にしましたが、そもそも-lオプションってリスト化でしたね。 失礼しました。