1

我对脚本不太熟悉。这可能是一个非常容易的问题。我想删除每个文件的第一个令牌。

  file 1

 1 this is good


  file 2
  2 this is another file.

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

4

3 回答 3

2

或者使用 awk:

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

(这会保留行首的空间)

于 2012-08-20T13:31:05.007 回答
1

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

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

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

于 2012-08-20T13:07:49.270 回答
1
$ sed '0,/1/{s/1//}' f1 
  this is good
于 2012-08-20T13:08:59.597 回答