J'ai un fichier dans lequel j'ai besoin d'éliminer tout après le premier ;
sur chaque ligne.
Donc un fichier comme celui-ci:
sdfsdsdf;
fsdfsddf;sdfsd;
Entraînera cette question:
sdfsdsdf
fsdfsddf
J'ai regardé dans grep
et sed
. J'apprécierais une réponse incorporant l'une de ces commandes.
une autre option consiste à utiliser la commande cut
cat a.file | cut -d';' -f1
J'utilise généralement awk
pour des choses comme ceci:
cat a.file | awk -F=";" '{ print $1 }'
Cela prendra chaque ligne d'un fichier et imprimera le premier groupe avant le délimiteur -F
Voici un moyen de le faire en utilisant GNU grep
:
grep -Po "^[^;]+(?=;?)" filename