2009-10-23 8 views
2

fichier:Retirez les lignes impaires dans un fichier texte

/home/USER/DIR/a 
http://www.here.is.a.hyper.link.net/ 
/home/USER/DIR/b 
http://www.here.is.another.hyper.link.net/ 

besoin de supprimer toutes les lignes impaires dans ce fichier (PUBLIC-DIRECTORY-LIST)? Son pour mon script batch qui se trouve ci-dessous (dropbox lot créateur puburl):

for PATH in `cat LIST` 
do 
echo $PATH 
dropbox puburl $PATH 
done > PUBLIC-DIRECTORY-LIST 

Ai-je append simplement la commande d'élaguer PUBLIC-DIRECTORY-LIST à la fin du script?

+0

Je suis toujours très au courant des scripts batch - mon premier script XD. – user191960

+0

ne pas utiliser pour la boucle avec un chat comme ça ... parce que vous aurez des problèmes d'espace plus tard. utilise une boucle de lecture while – ghostdog74

Répondre

10
# awk 'NR%2==0' file 
http://www.here.is.a.hyper.link.net/ 
http://www.here.is.another.hyper.link.net/ 
1

j'utiliser awk pour cela, mais c'est juste moi:

awk '{if(i++%2)print}' foo.txt 
0

Pour être complet est ici l'expression sed:

sed -e '1d;n;d' file 

Il est exactement comme here sauf un commande 1d supplémentaire, supprime la première ligne et imprime donc les lignes impaires au lieu des paires.

+1

Simpler: 'sed '1 ~ 2d' file' –