Supprimer l'espace avant d'un champ à l'aide de AWK
(Presque copie exacte de Garder le format original POST en passant par AWK soumis par la même personne.)
J'ai une question simple concernant gawk, illustré ci-dessous:
1 int blah (void)
2 {
3 if (foo) {
4 printf ("blah\n");
5 }
6 return 0;
7 }
À l'aide de la suite de gawk de code à l'aide de gensub() pour maintenir la mise en forme d'origine:
gawk '{ print gensub($1, "\t", 1) }' ./sample_code.out
int blah (void)
{
if (foo) {
printf ("blah\n");
}
return 0;
}
Comment puis-je utiliser gawk ou awk (peut-être avec des expressions régulières) pour supprimer les espaces avant de champ $1 (^ )
Illustré ci-dessous:
int blah (void)
{
if (foo) {
printf ("blah\n");
}
return 0;
}
Salutations à l'avance
- $1 ne contient des espaces. Vous exemple montre que vous ajouter des espaces, mais dans le texte, vous dites que vous souhaitez supprimer. Merci d'éditer votre question clairement ce que vous obtenez et ce que vous voulez faire.
- Il veut supprimer les numéros, le décapage de tous les principaux de l'espace tout en préservant la mise en forme
- (Du moins c'est mon interprétation de la question 🙂 )
- Merci pour vos suggestions les gars! 🙂 En fait, veuillez l'excès de mon manque de compréhension - comme je suis nouveau sur AWK. Vinko, est - il correct, Merci 🙂
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne, mais dans la connaissance que vous aurez toujours besoin de strip de 3 cases.
C'est à partir de la célèbre awk 1 doublures de liste, peut être trouvé ici: http://student.northpark.edu/pemente/awk/awk1line.txt
Ce qui me frappe comme étant un cas de "mauvais outil pour le travail". Je voudrais utiliser sed`:
Maintenant, si le problème est tout au sujet d'à l'intérieur de la plupart des détails de
awk
, cela peut être d'aucune aide; si le problème est d'obtenir espaces supprimés, il est plus rapide et (au moins sans doute) plus simple.