GNU/Linux >> Znalost Linux >  >> Linux

najít soubory, které mají číslo v názvu souboru větší než

Můžete použít seq pro to, ale funguje to pouze v případě, že všechny soubory mají stejnou konvenci pojmenování:

seq -f "%02g-a.txt" 6 10
06-a.txt
07-a.txt
08-a.txt
09-a.txt
10-a.txt

Tj.:

cat `seq -f "%02g-a.txt" 6 10` > bigfile.txt

Bude kat všechny soubory pojmenované jako "-" a mající tuto větší než $LIM .

I když jsou psány jednou číslicí (například 5 ), se dvěma číslicemi (například 05 ), nebo více...

A to i v případě, že se mezi soubory liší.

LIM=5
for file in $(ls);
do
   number=$(echo $file | cut -f1 -d'-');
   [ $number -gt $LIM ] && cat $file >> bigfile.txt;
done

Za předpokladu, že složka obsahuje pouze tyto soubory.

Tím se zobrazí seznam všech souborů, jejichž číslo je> 5

ls [0-9]* | awk -F '-' '{if ($1> 5) tisknout $0}'


Linux
  1. Najít duplicitní soubory?

  2. Získání všech souborů, které byly upraveny ke konkrétnímu datu?

  3. Výpis počtu souborů v každé složce Kde název složky odpovídá vzoru?

  1. Hledání souborů čitelných pro člověka na unixu

  2. Jak v Linuxu odstraníte soubory starší než konkrétní datum?

  3. Najít adresáře se všemi soubory staršími než X?

  1. Proč Find -mtime +1 vrací pouze soubory starší než 2 dny?

  2. grep najít soubory, které obsahují řetězec delší než x znaků?

  3. Najděte jakýkoli řádek v VI, který má něco jiného než ATCG