GNU/Linux >> Tutoriels Linux >  >> Linux

Obtenez la nième ligne de plusieurs fichiers sous Linux

Débarrassez-vous de l'inutile echo , le exit incorrect et le print redondant :

awk 'FNR == 3' test*.csv

Vous devez utiliser

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

Le problème est que lorsque vous utilisez exit , il empêche awk de traiter complètement l'entrée. Le nextfile dit à awk d'arrêter de traiter le fichier en cours et de passer au fichier suivant. Le echo la commande telle que vous l'utilisez n'est pas nécessaire.

En savoir plus ici :

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


Cela pourrait fonctionner pour vous (GNU sed):

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

Linux
  1. Migrer un serveur Linux depuis la ligne de commande

  2. Comment renommer plusieurs fichiers ensemble sous Linux en utilisant 3 méthodes

  3. Comment ajouter plusieurs fichiers jar dans classpath sous Linux

  4. Suppression d'une partie d'un nom de fichier pour plusieurs fichiers sous Linux

  5. Exécuter combiner plusieurs commandes Linux en une seule ligne

Commande Rm sous Linux

8 méthodes pour renommer plusieurs fichiers à la fois sous Linux

Copier un fichier dans plusieurs répertoires à partir de la ligne de commande sous Linux

Comment analyser les fichiers CSV dans les scripts Bash sous Linux

Comment fusionner plusieurs fichiers PDF en un seul PDF sous Linux

Linux renommer l'extension de plusieurs fichiers