長さ0の隠しファイルの削除

長さ0の隠しファイルの削除

ファイルが指定されたディレクトリにあり、長さ0のファイル、.swpファイル(おそらく隠されている)、または.tmpファイル(おそらく隠されたファイル)の場合は、コマンドライン引数としてファイル名とディレクトリ名を使用するBashスクリプトを作成します。隠された)。

誰かがこのコードを提供できますか?

答え1

これは、名前がドット(非表示)で始まり、空の一般ファイルである「ディレクトリ名」ディレクトリのファイルを繰り返し一覧表示します。

find «directory-name» -type f -name ".*" -empty

答え2

rm以下は合理的であると思われるエコバージョンです(逆にテストするのは簡単です)。

アイデアは2つの部分に分けることです。まず空であることをテストし、条件付きで削除します。次に、4つのバリエーションをrm選択してください-f。以下は、4つのエコーで構成された2行のフォーマットがよく整理されたものです。スペースファイル名に。

f="$1"

[ -e "$f" ] && [ ! -s "$f" ] && echo "$f" || echo '(nosuch)'

echo ---"$f".swp--- ---."$f".swp---
echo ---"$f".tmp--- ---."$f".tmp---

ファイルの消去をキャンセルした後の2番目の出力。

]# . delswp.sh 'f f'

f f
---f f.swp--- ---.f f.swp---
---f f.tmp--- ---.f f.tmp---

]# echo " " >>'f f'
]# . delswp.sh 'f f'

(nosuch)
---f f.swp--- ---.f f.swp---
---f f.tmp--- ---.f f.tmp---

削除後の2番目の部分は次のとおりです。

rm -f "$f".swp ."$f".swp "$f".tmp ."$f".tmp

関連情報