##この操作をする羽目になったきっかけ
fortran90で書かれたパブリックコードを触っていたところ変に操作してしまい、ファイルの名前が文字化けしたいらないファイルを作ってしまいましたが、うまく消せませんでした。
その時にファイル名が文字化けしたファイルがいっぱいありすぎて手作業でやるには少しだけ困ったので、shellファイルを作ることにしました。
ここに共有すると、より良い方法を教えてくださる親切な方が現れることがあるとわかったので、個人のメモとして下書きに保存していたこの記事を公開します。
##前提
linux
##見つけ方
見つけるだけなら以下でOK
ls -i
####いっぱい消す用の見つけ方
①ls -i -1 でファイル固有のナンバーを見つけ、1行にする
②txtにコピーしてexcelファイルにする
③名前のとこ消す
④txtfileに戻す(私の場合、"mozibake.txt"と名付けました)
##消し方
###ちょっとだけある
(参考:https://centos.bungu-do.jp/archives/42)
ターミナルに以下を打ち込んで実行
find . -inum $line -ok rm -rf {} \;
#$lineには上で見つけたファイルの固有ナンバーが入ります
###いっぱいある(私の場合は170個あった)
(参考:shellでの配列の扱い方
https://anmino.hatenadiary.org/entry/20091027/1256628984)
0.あらかじめ文字化けファイルを見つけて"mozibake.txt"にファイル固有の番号を保存しておく
1.次のようなshellファイルを作る
(例えば名前をmozibake.shにしておく)
#!/bin/sh
# 区切り文字を改行コードに指定
IFS=$'\n'
# ファイルを配列に読み込む
file=(`cat "mozibake.txt"`)
# 行ごとに繰り返し処理を実行
ln=0
for line in "${file[@]}"; do
ln=`expr $ln + 1` #これがいるかはわからんが
find . -inum $line -ok rm -rf {} \;
done
3.ターミナルで sh mozibake.sh を実行
4.消していい?って聞かれるので全部yを押す