0

ペンドライブから別のフォルダにある別のファイル名の同じ拡張子ファイルのグループを削除したいのですが、次のコマンドで試しましたが、うまくいきません。

$sudo find /media/<Pendrive> *.jpg | rm -rf *

ペンドライブからファイルを削除するための正確なコマンドを教えてください。

4

1 に答える 1

2

あなたは書ける:

sudo find '/media/<Pendrive>' -name '*.jpg' -exec rm -f '{}' ';'

さて、すべてのファイルパスをテキストファイルにエクスポートしていて、awk commendを使用してファイルを削除したい場合は、この場合は可能です。

テキストファイルの名前がall_file_paths.txt、の場合、次のように記述できます。

while IFS= read -r file_to_delete ; do
  if [[ "$file_to_delete" == *.jpg ]] ; then
    sudo rm -f "$file_to_delete"
  fi
done < all_file_paths.txt

(コマンドIFS= read -r file_to_deleteが標準入力(この場合はから来ている)から1行を読み取り、all_file_paths.txtその行を変数に格納します$file_to_delete)。

ファイルパスに改行文字が含まれている場合、このアプローチは誤動作することに注意してください。を作成したときに「file-pathの終わり」と「file-path内の改行」の区別をすでに破棄しているため、これを回避する信頼できる方法はありませんall_file_paths.txt

于 2012-11-27T21:42:22.157 に答える