Retirez Premier Mot dans le flux de texte
Comment puis-je supprimer le premier mot de chaque ligne de texte dans un cours d'eau? 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 aller sur ce en utilisant bash? Je pourrais utiliser awk '{print $2 $3 $4 $5 ....}' mais c'est salissant et entraînerait des espaces supplémentaires pour tous les arguments nuls. Je pensais que sed peut être capable de faire cela, mais je ne pouvais pas trouver un des exemples de cette. Toute aide est appréciée! Merci!
Vous devez vous connecter pour publier un commentaire.
basé sur votre exemple de texte,
devrait faire le travail.
history
et il ne fonctionne pas au début de l'histoire en raison de la espaces avant les chiffres les plus petits agissant comme des séparateurs.Qui devrait fonctionner:
Voici une solution à l'aide de
awk
exécuter ce
sed "s/^some\s//g" myfile
vous n'avez même pas besoin d'utiliser un tuyauPour supprimer le premier mot, jusqu'à ce que l'espace n'importe comment beaucoup d'espaces, utilisation:
sed 's/[^ ]* *//'
Exemple: