0
votes

awk rétrécit plusieurs espaces à un

J'essaie de me débarrasser de la première colonne en utilisant awk. Si j'ignore une chaîne vide à la première colonne, tous les autres espaces à l'intérieur d'autres colonnes sont réduits dans un espace. Comment désactiver l'espace rétrécissant?

$ dpkg -l | grep awk
ii  mawk                                  1.3.3-17ubuntu3                                  amd64    a pattern scanning and text processing language

awk

1 commentaires

Lorsque vous modifiez une colonne dans awk i.e. $ 1 = "" Vous forcez Awk à reformater un enregistrement à l'aide de par défaut de par défaut qui n'est qu'un seul espace.


4 Réponses :


0
votes

Un autre moyen d'utiliser Array SLICE EM>:

b   c


0 commentaires

0
votes
echo 'a   b   c' | awk '{print substr($0,index($0,FS)+1)}'

1 commentaires

Ce serait une meilleure réponse si vous avez expliqué comment le code que vous avez fourni des réponses à la question.



1
votes

Lorsque vous modifiez n'importe quel champ dans awk ie 1 $ = "" vous force awk pour reformater un enregistrement Utilisation par défaut OFS , qui n'est qu'un seul espace.

ayant dit que, d'une manière dans awk pour supprimer la première colonne tout en préservant les suites de poids entre les champs. xxx

xxx

ou si vous utilisez gnu-awk puis utilisez: xxx

xxx


0 commentaires

0
votes

sed peut être plus facile xxx


0 commentaires