自分のidに属するUnixディレクトリからrmファイルを取得する必要があります。私は、このコマンドを構築しようとしたが、無駄に:Unixで自分のファイルだけを削除する
ls -la | grep 'myid' | awk ' { print $9 } ' | rm
マイ結果:使用します。rm [-firRe] [ - ]ファイル...
自分のidに属するUnixディレクトリからrmファイルを取得する必要があります。私は、このコマンドを構築しようとしたが、無駄に:Unixで自分のファイルだけを削除する
ls -la | grep 'myid' | awk ' { print $9 } ' | rm
マイ結果:使用します。rm [-firRe] [ - ]ファイル...
あなたは本当に近くでした。試してください:
元のパイプラインの最初の3つのセグメントを囲む一重引用符ではなく、バッククォートです。私にとっては、ファイル名の列は$ 8でしたが、もし$ 9があなたのための右の列なら、それはそれを行うべきです。フォルダ/tmp
からuser_name
の
find . -user myuser -print0 |xargs -0 rm
独自のユーザーIDを入れて(または多分ユーザー番号)を「myuser」に入力します。
ユーザーに属しているファイルを検索し、それらを削除することができfind
で試してみてください:
find . -user *username* -delete
さらに詳しい情報:man find
RMは標準入力に削除するファイルのリストを受け付けていませんが(これは、パイプを通過させることにより、あなたがやっていることである。
この
find . -type f -user username -exec rm -f {} \;
をお試しください
rmはstdinから読み込みません。
-user $(whoamiを)見つけるには、削除せずに最初
してください常にテストを-delete。
ファイルを削除する場合は、-type fを追加してください。 –
現在のディレクトリでのみ動作する-maxdepth 1も可能です。 – millimoose
これは最も簡潔ですが、-userオプションの前にコマンドにディレクトリを置く必要があることに注意してください。 '見つける。 -user $(whoami)-delete ' – Jay
あなたは、検索を使用することができます:あなたはそれが同様にサブディレクトリを処理したい場合は
find . -maxdepth 1 -type f -user myid -print0 | xargs -0 rm -f
は-maxdepth 1をドロップします。
削除ファイル(あなたがあなたのフォルダでこれを置き換えることができます)、60日より古い - あなたがここに任意の日付を使用していますが、user_name
ホームフォルダにdeleted.txt
ファイルに証拠を維持することを確認し、CA:
find /tmp -user user_name -mtime +60 -exec rm -rfv {} \; >> /home/user_name/deleted.txt
入力いただきありがとうございます。素晴らしい仕事をした。それは他の答えよりもタイピングが少ないですが、私もそれらを感謝します。 –
私のプロンプトに色がついているのでこれが失敗する:rm:\ 033 [0m.X1-lock \ 033 [0m]:そのようなファイルやディレクトリはありません。\ 033 [0mは環境変数プロンプト) – liang