GNU/Linux >> Znalost Linux >  >> Linux

Získejte N'-tý řádek více souborů v linuxu

Zbavte se zbytečného echo , nesprávné exit a redundantní print :

awk 'FNR == 3' test*.csv

Měli byste použít

awk 'FNR == 3 { print; nextfile }' test*.csv >> last_file.csv

Problém je v tom, že když použijete exit , přestane awk úplně zpracovávat vstup. nextfile říká awk, aby zastavil zpracování aktuálního souboru a přešel na další soubor. echo příkaz, který používáte, není nutný.

Přečtěte si více zde:

http://www.gnu.org/software/gawk/manual/html_node/Nextfile-Statement.html


Toto by vám mohlo fungovat (GNU sed):

sed -sn 3p test*.csv >> last_file.csv

Linux
  1. Migrace linuxového serveru z příkazového řádku

  2. Jak přejmenovat více souborů dohromady v Linuxu pomocí 3 metod

  3. Jak nahradit řetězec ve více souborech v příkazovém řádku linuxu

  1. Odstranění části názvu souboru pro více souborů v systému Linux

  2. Proveďte kombinaci více příkazů Linuxu na jednom řádku

  3. méně (linux) get/go-to X offset v souboru

  1. Jak komprimovat více souborů v systému Linux

  2. Linux – Může mít jeden uživatel více souborů Crontab?

  3. Jak přejmenovat více souborů najednou v Linuxu