使用AWK场之前删除空白 [英] Remove whitespace before a field using AWK

查看:101
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆