仅删除文件的第一个标记

时间:2012-08-20 13:01:36

标签: regex bash

我对脚本编写并不熟悉。这可能是非常容易的问题。我想删除每个文件的第一个标记。

  file 1

 1 this is good


  file 2
  2 this is another file.

我想从文件1和文件2中删除1和2.怎么做?任何bash命令吗?

3 个答案:

答案 0 :(得分:2)

或者使用awk:

$ awk '{if (NR==1) {$1="";print $0;} else print $0}' input_file

(这会保留行开头的空格)

答案 1 :(得分:1)

使用sed并假设您不想保留前导空格:

sed '1{s/\s*\w*//}' input_file

这将在第一行(1{})上工作,并使用替换命令(s/pattern/replace/)删除第一个空格和后面的单词字符(\s*\w*)。字符是[a-zA-Z0-9]。

答案 2 :(得分:1)

$ sed '0,/1/{s/1//}' f1 
  this is good