Comment supprimer le premier mot de chaque ligne de texte d'un flux? c'est à dire.
$cat myfile
some text 1
some text 2
some text 3
ce que je veux c'est
$cat myfile | magiccommand
text 1
text 2
text 3
Comment pourrais-je procéder à l'aide de bash? Je pourrais utiliser awk '{print $ 2 $ 3 $ 4 $ 5 ....}' mais c'est désordonné et entraînerait des espaces supplémentaires pour tous les arguments nuls. Je pensais que sed pourrait le faire, mais je n'ai trouvé aucun exemple de cela. Toute aide est appréciée! Merci!
en fonction de votre exemple de texte,
cut -d' ' -f2- yourFile
devrait faire le travail.
Cela devrait fonctionner:
$ cat test.txt
some text 1
some text 2
some text 3
$ sed -e 's/^\w*\ *//' test.txt
text 1
text 2
text 3
Voici une solution utilisant awk
awk '{$1= ""; print $0}' yourfile
lance ça sed "s/^some\s//g" myfile
vous n'avez même pas besoin d'utiliser un tuyau
Pour supprimer le premier mot, jusqu'à ce que l'espace, quel que soit le nombre d'espaces, utilisez: sed 's/[^ ]* *//'
Exemple:
$ cat myfile
some text 1
some text 2
some text 3
$ cat myfile | sed 's/[^ ]* *//'
text 1
text 2
text 3