使用AWK场之前删除空白 [英] Remove whitespace before a field using AWK
问题描述
(几乎完全重复的<一个href=\"http://stackoverflow.com/questions/408469/keeping-original-format-post-passing-through-awk\">http://stackoverflow.com/questions/408469/keeping-original-format-post-passing-through-awk提交同一人。的)
(Almost exact duplicate of http://stackoverflow.com/questions/408469/keeping-original-format-post-passing-through-awk submitted by same person.)
我有一个简单的问题关于先按g awk中,如下图所示:
I have a simple question pertaining to gawk, illustrated below:
1 int blah (void)
2 {
3 if (foo) {
4 printf ("blah\n");
5 }
6 return 0;
7 }
使用以下GAWK code - 使用gensub()保持原来的格式:
Using the following gawk code - using gensub() to maintain original formatting:
gawk '{ print gensub($1, "\t", 1) }' ./sample_code.out
int blah (void)
{
if (foo) {
printf ("blah\n");
}
return 0;
}
我如何使用摹 AWK和awk(可能与普通的前pressions)删除previous空格前场$ 1 (^)
How can I use gawk or awk (maybe with regular expressions) to remove previous whitespace before field $1 (^ )
下图所示:
int blah (void)
{
if (foo) {
printf ("blah\n");
}
return 0;
}
亲切的问候提前
推荐答案
这工作,但你永远要带3位的知识。
This works, but in the knowledge that you'll always want to strip 3 spaces.
vinko@parrot:~$ cat foo.c
1 int blah (void)
2 {
3 if (foo) {
4 printf ("blah\n");
5 }
6 return 0;
7 }
vinko@parrot:~$ gawk '{ print gensub(/^ /,"",1,gensub($1, "", 1)) }' foo.c
int blah (void)
{
if (foo) {
printf ("blah\n");
}
return 0;
}
这篇关于使用AWK场之前删除空白的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!