rmコマンドがAIXでwフラグを認識しないのはなぜですか?

rmコマンドがAIXでwフラグを認識しないのはなぜですか?

次のように、AIXの最後の5つのコピーを保持するbashスクリプトがあります。

rm `ls -lt /path/the_file_* | tail -n +6`

ただし、次のエラーが発生します。

rm: Not a recognized flag: w

修正する

このlsコマンドは以下を返します。

-rw-r--r--    1 user   group1           14 Mar 11 09:54 the_file_20130311.bz2

これについての手がかりはありますか?

ベストアンサー1

あなたが言うことは本質的に

rm -rw-r--r-- 1 user group1 14 Mar 11 09:54 the_file_20130311.bz2

つまり。再帰削除の名前は次のとおりです。

1
user
group1
14
Mar
...

-wrmフラグやその他の奇妙なものがある場合-rw-r--r--

より良いオプションはを使用することです。出力がttyに行くかどうかを検出ls -tできるため、別の行にいなくても心配しないでください。ls

たとえば、次のようになります。

ls -t | cat

しかし、別の問題が発生します。つまり、正しいディレクトリにないということです。だからあなたが言うのは実際に現在のディレクトリから/path/

したがって、最初に正しいパスにあることを確認したり、findシステムにGNUをインストールしたりできる場合、他のオプションは次の方向になります。

find /path/to/files -maxdepth 1 -type f -name 'the_file_*' -printf '%T@ %p\n' |
  sort -nr | head -n6 | cut -f2- -d" "

正しいリストを取得するにはフルパスが必要です。

その後、良く見える場合は、rmルーチンに追加してください。

おすすめ記事