テキストファイルの中に画像名があります(144枚)。
同一ファイル名とその他ほかの画像名の画像が入ったフォルダがあります。(枚数>144枚)
テキストファイルと違う名前の画像をディレクトリから削除したいのですが、linuxコマンドでどうすれば良いでしょうか?
試したコマンド(ディレクトリ内で実行)
linux
1for i in $(cat downloads/image.txt); if [i!=$i]; then do rm $I "&I"; done
ディレクトリ内をimage.txtと同じファイルのみにしたい
txt
1000.jpg 2001.jpg 3002.jpg 4.... 5144.jpg
image.txt
txt
1000.jpg 2001.jpg 3002.jpg 4.... 5144.jpg
ディレクトリ内
txt
1000.jpg 2001.jpg 3002.jpg 4.... 5456.jpg
ディレクトリ内においてテキストファイルと同一の画像ファイルがあるかループ処理させ
同一のファイルが無ければ消すというスクリプトを書くだけでは?
今の質問内容ですと丸投げじゃないですか。
・やり方を考えて
・コードを書いて
・実行して
・期待値が得られない
を何度か繰り返して、それでもだめなら質問されるとよいと思います。
試したコマンド追記
for i in $(cat downloads/image.txt); if [i!=$i]; then do rm $I "&I"; done
「試したコマンド」だと、やりたい事とどう違いますか?
image.txtが別のディレクトリあればディレクトリ内から
for ff in *; do [ $(grep -e"^$ff\$" /tmp/image.txt) ] || rm $ff; done
回答2件
あなたの回答
tips
プレビュー