以前に解決してもらった質問にはなるのですが、問題が新たに発生したため解決策を教えていただきたいです。
コマンドライン:↓
find $path -type d | grep -E -v -f list_test.txt | xargs ls -lgG
$path : 検索ディレクトリ
grep : パターンファイルでfind検索時除外するディレクトリ以下の情報指定
パターンファイル記述例 : /aaa/bbb/ccc/ddd/fff (/fff 以下の情報を除外)
表示結果:↓
/aaa/bbb/ccc/ddd/eee:
合計 60
-rwxrwxrwx 1 5424 1月 13 09:51 2016 a_01.txt
-rwxrwxrwx 1 3748 1月 13 09:53 2016 a_02.txt
-rwxrwxrwx 1 4732 2月 13 09:55 2016 a_03.txt
-rwxrwxrwx 1 1323 2月 7 17:05 2016 a_04.txt
-rwxrwxrwx 1 3456 3月 4 16:27 2016 a_05.txt
/aaa/bbb/ccc/ddd/ggg:
合計 12
-rwxrwxrwx 1 638 11月 18 11:40 2015 b_01.txt
-rwxrwxrwx 1 760 11月 26 12:00 2015 b_02.txt
-rwxrwxrwx 1 25 10月 26 11:34 2015 b_02.txt
※表示結果の3列目はサイズですが、桁数が違っても終端を合わせるようになっています。
問題となるのはfindの結果をlsする際にディレクトリ名にスペースが入っているものがスペースごとに別のディレクトリとして取り扱われ、ls: cannot accessエラーとして認識されてしまうことです。以前は表示形式を変えてなんとか対応させたのですが、やはりこの表示形式を保ちたいのです。なんとかならないでしょうか?
変更後コマンド:↓
find $path -printf "%M %2n %10s %TY-%Tm-%Td %TH:%TM %p\n" |grep -E -v -f list_test.txt
表示形式変更時(現在):↓
-rwxrwxrwx 1 8326 2016-12-09 11:25 /aaa/bbb/ccc/ddd/eee/a_01.txt
-rwxrwxrwx 1 3778 2016-09-09 12:32 /aaa/bbb/ccc/ddd/eee/a_02.txt
-rwxrwxrwx 1 15902 2016-09-08 12:42 /aaa/bbb/ccc/ddd/eee/a_03.txt
-rwxrwxrwx 1 1687 2016-01-20 18:13 /aaa/bbb/ccc/ddd/eee/a_04.txt
-rwxrwxrwx 1 1927 2015-12-07 09:58 /aaa/bbb/ccc/ddd/eee/a_05.txt
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/04 07:20