使用bash或sed或awk

时间:2015-06-16 14:12:31

标签: regex bash awk sed grep

我有一个输入文件,其示例如下所示:
(?U0 ?U2 ?U9 ?U11 ?U21)我想将?U之后的所有数字提取到输出文件中: br {> 0 2 9 11 21
请在这方面帮助我,我是新手。

由于

4 个答案:

答案 0 :(得分:1)

你可以使用grep但它每行产生一次输出。

grep -oP '\?U\K\d+' file

$ echo '(?U0 ?U2 ?U9 ?U11 ?U21)' | grep -oP '\?U\K\d+' | paste -s -d " " -
0 2 9 11 21

答案 1 :(得分:1)

使用sed你可以这样做:

export class A {
  constructor() {
    //stuff happens
    this.addEventListeners() // this should work now
  }

  addEventListeners() {
    // Add eventlistener here
  }

  RemoveEventListeners() {
    // remove eventlistener here
  }
}

答案 2 :(得分:0)

简单的sed

DateTimeZone zone = DateTimeZone.forID("Europe/London");
Chronology gregorian= GregorianChronology.getInstance(zone);

// current time with gregorian chronology
DateTime dt = new DateTime(gregorian);

int month = dt.getMonthOfYear(); // gets the current gregorian month
int year = dt.getYear();   // gets the current gregorian year
int day = dt.getDayOfMonth() // gets the current gregorian day
// ...

输出
0 2 9 11 21

删除所有不需要的字符,如果需要另外的字符,可以设置[...]

或更普遍的

echo "(?U0 ?U2 ?U9 ?U11 ?U21)" | sed 's/[()?U]//g'  

删除所有非数字字符(而不是空格)

答案 3 :(得分:0)

使用grep:

strSQL = "SELECT * FROM  [Sheet3$];"