テスト

テスト

ディレクトリ内の重複ファイルを見つけて1つだけ減算し、すべて削除してスペースを確保したいと思います。シェルスクリプトを使用してこれを達成するにはどうすればよいですか?

たとえば、

pwd
folder

内部ファイルは次のとおりです。

log.bkp
log
extract.bkp
extract

log.bkpを他のすべてのファイルと比較し、内容に応じて重複したファイルが見つかった場合は削除する必要があります。同様に、「log」ファイルはそれに続く他のすべてのファイルと一緒にスキャンする必要があります。

これまでこれを書いてきましたが、期待した結果は得られませんでした。

#!/usr/bin/env ksh
count=`ls -ltrh /folder | grep '^-'|wc -l`
for i in `/folder/*`
do
   for (( j=i+1; j<=count; j++ ))
   do
      echo "Current two files are $i and $j"
      sdiff -s $i  $j
      if [ `echo $?` -eq  0 ]
      then
         echo "Contents of $i and $j are same"
       fi
    done
 done

ベストアンサー1

シェルスクリプトを生成せずに単にコマンドラインツールを使用したい場合は、ほとんどfdupesのディストリビューションでこれを実行できるプログラムがあります。

fslint同じ機能を持つGUIベースのツールもあります。

おすすめ記事