画像をフフフフォルダから一括でcurl取得したら失敗した。存在しないリンクにダウンロードに行っちゃってゴミファイルが大量にできてしまっている(512KBのファイル)。
$ ls -shal
まともにダウンロードできたファイルも混在しているが、この大量の画像のなかから容量512KBのゴミファイルだけを選択して削除したい。
ls -shal の結果を bash のfor文に食わせて行頭が512のものだけ削除できればいい。
できた。
512KBのものだけを選択。
$ (IFS=$'\n'; for i in $(ls -shal | grep FFA | awk '$1 ~ /512/ {print $1,$10}'); do echo "$i"; done; )
awkで行頭512のものだけに限定している。
それを削除。
$ (IFS=$'\n'; for i in $(ls -shal | grep FFA | awk '$1 ~ /512/ {print $10}'); do echo "$i"; rm -rf "$i"; done; )
確認。
以前も似たようなことをしたけど、たぶん今回のほうが応用の幅が広い。
ls -shal の結果がスペースで区切られてしまわないように、グループコマンドでIFSを一時的に変更しているのもコツ。