Sed supprimer tout le contenu en ligne à la suite de \t
J'ai o/p comme
19599 user 20 0 120m 32m 4260 S 14.0 5.3 3:21.13 app.out \t Wed Jun 8 09:31:06 UTC 2011
19599 user 20 0 120m 32m 4260 S 14.0 5.4 3:21.61 app.out \t Wed Jun 8 09:31:12 UTC 2011
19599 user 20 0 121m 32m 4260 S 12.0 5.4 3:22.31 app.out \t Wed Jun 8 09:31:17 UTC 2011
Je veux enlever tous les caractères à partir de \t
dans la ligne.
Comment puis-je faire avec sed
?
J'ai essayé avec awk -F t '{print $1}'
mais il suppression de t à partir de l'app.out .
Je veux o/p comme
19599 user 20 0 120m 32m 4260 S 14.0 5.3 3:21.13 app.out
19599 user 20 0 120m 32m 4260 S 14.0 5.4 3:21.61 app.out
19599 user 20 0 121m 32m 4260 S 12.0 5.4 3:22.31 app.out
Si j'ai écrit le awk
comme ceci:
awk -F t '{print $1"t"}'
il fonctionne très bien, mais c'est seulement un travail autour de. Comment puis-je supprimer tous les caractères à partir de \t
dans la ligne jusqu'à la fin de la ligne?
- que voulez-vous laisser dans la ligne? Je veux dire, de montrer un exemple, il n'est pas si facile à trouver \t ici)
- mise à jour de ma question.
- Est le
\t
en fait un caractère de tabulation ou la séquence barre oblique inverse et "t"? - c'est une séquence de \t
Vous devez vous connecter pour publier un commentaire.
Si la sortie contient les deux caractères barre oblique inverse et "t", puis vous utilisez:
Cela supprime les blancs menant à deux personnages, la barre oblique inverse et le 't', en plus de tout ce qui est après eux.
Si la sortie contient un caractère de tabulation, puis vous avez besoin de remplacer l '"
\\t
' avec un caractère de tabulation.Il semble que vous voulez le premier champ dans un texte délimité par des tabulations. Vous pourriez essayer l'un de:
La
$''
syntaxe est utilisée dans bash (et ksh et zsh, je crois) est plus facile de permettre l'incorporation de séquences d'échappement dans les chaînes.Tout tuyau à travers: