J'ai actuellement besoin d'extraire le deuxième mot (CRISTOBAL) en ligne dans un fichier texte.
* CRISTOBAL AL042014 08/05/14 12 UTC *
Le deuxième mot de la ligne "CRISTOBAL" variera d'un jour à l'autre, il me suffit donc de trouver un moyen d'extraire JUSTE le deuxième mot/caractère de la ligne.
2e mot
echo '* CRISTOBAL AL042014 08/05/14 12 UTC *' | awk '{print $2}'
vous donnera CRISTOBAL
echo 'testing only' | awk '{print $2}'
vous donnera only
Vous devrez peut-être le modifier si la structure de la ligne change.
2e mot des lignes d'un fichier texte
Si votre fichier texte contient les deux phrases suivantes
this is a test
* CRISTOBAL AL042014 08/05/14 12 UTC *
fonctionnement awk '{print $2}' filename.txt
reviendra
is
CRISTOBAL
2ème caractère
echo 'testing only' | cut -c 2
Cela vous donnera e
, qui est le 2ème caractère, et vous devrez peut-être le modifier pour qu'il corresponde également à vos besoins.
En cas de sed est nécessaire/uniquement disponible
sed '^ *[^ ]* *\([^ ]*\) .*/\1/' YourFile
Prenez le deuxième groupe non vide (en supposant qu'il y ait au moins 1 blanc après le mot
Mais je préfère couper pour la vitesse (et awk si une manipulation est nécessaire).
En fait, cela dépend principalement de la prochaine action dans le script (le cas échéant).