サイズの異なる固有のファイルを抽出するのが困難です。
質問: ディレクトリ内にいくつかのファイルが存在するとします。2 MB のファイルが 2 つ、4 MB のファイルが 4 つ、6 MB のファイルが 3 つあるとします。
ここで、すべてのファイルとそのサイズをチェックし、異なるサイズのファイルの最初の出現のみを印刷するスクリプトを実行する必要があります。
例えば。ファイル f1 を読み取り、そのファイルが 2MB の場合、ls -al of f1 を実行します。
次回は2MBサイズのファイルを取得するとスキップします
したがって、この場合、2 mb、4 mb、および 6 mb の異なるサイズの 3 つのファイルのみが印刷されます。
[sumit.gupta@abc ~]$ ll mytestfolder/
total 38972
-rw-rw-r-- 1 sumit.gupta sumit.gupta 2097152 Jan 6 23:26 f1
-rw-rw-r-- 1 sumit.gupta sumit.gupta 2097152 Jan 6 23:27 f2
-rw-rw-r-- 1 sumit.gupta sumit.gupta 4194304 Jan 6 23:28 f3
-rw-rw-r-- 1 sumit.gupta sumit.gupta 4194304 Jan 6 23:28 f4
-rw-rw-r-- 1 sumit.gupta sumit.gupta 6291456 Jan 6 23:28 f5
-rw-rw-r-- 1 sumit.gupta sumit.gupta 6291456 Jan 6 23:28 f6
-rw-rw-r-- 1 sumit.gupta sumit.gupta 4194304 Jan 13 11:11 f7
-rw-rw-r-- 1 sumit.gupta sumit.gupta 4194304 Jan 13 11:12 f8
-rw-rw-r-- 1 sumit.gupta sumit.gupta 6291456 Jan 13 11:12 f9
スクリプトで以下のコードを試しています:
#!/bin/bash
source="/home/sumit.gupta/mytestfolder/"
ls -ltr /home/sumit.gupta/mytestfolder | cut -d ' ' -f 5,10 | \
head -n -1 > /tmp/abc.txt
ls -ltr /home/sumit.gupta/mytestfolder | cut -d ' ' -f5 | \
uniq > /tmp/def.txt
grep -F -vf /tmp/def.txt /tmp/abc.txt > xyz.txt