婦人声明:はい、スクリプトでファイルを見つけることはls
お勧めできませfind
んが、変更された日付で並べ替えられません。
以下を使用すると、すべてが大丈夫ls
ですxargs
。echo
$ ls -t1 ssl-access*.gz | xargs -n 1 echo
ssl-access.log.2.gz
ssl-access.log.3.gz
ssl-access.log.4.gz
[...]
echo
に変更zcat
:
$ ls -t1 ssl-access*.gz | xargs -n 1 zcat
gzip: ssl-access.log.2.gz.gz: No such file or directory
gzip: ssl-access.log.3.gz.gz: No such file or directory
gzip: ssl-access.log.4.gz.gz: No such file or directory
[...]
ファイルのサフィックスが重複していますか? !ここで何が起こっているのでしょうか?
修正する:
オペレーティングシステムはDebian 5です。
zcat
シェルスクリプトです/bin/zcat
。
#!/bin/sh
PATH=${GZIP_BINDIR-'/bin'}:$PATH
exec gzip -cd "$@"
ベストアンサー1
私のシステムでは、問題が色lsによって引き起こされたことがわかりました。私の.bash_profileには次のものがあります。
alias ls="ls --color"
結果をstatに送って見つけたところ、便利な内容が印刷されました。
$ ls local4.notice-201207* | xargs -n1 -P4 -I{} stat {}
stat: cannot stat `\033[0mlocal4.notice-20120711.gz\033[0m': No such file or directory
空のカラーコードを見てください! zcatは混乱してファイルを見つけるために.gzサフィックスを追加しようとします。問題は、lsをcolor = autoに変更することで簡単に解決できます。これにより、STDOUTが端末の代わりに別のプロセスに接続されているときにカラー出力が無効になります。
alias ls="ls --color=auto"
頑張ってください!