使用SED

时间:2016-11-20 23:05:12

标签: linux

文件格式为

  • 12000:P:1:14
  • 12001 10000
  • 12001 10500
  • 12001 10800
  • 12001 11000

我需要什么? 使用SED(使用内联替换),我提取范围从(并包括)10500到(并包括)10800(删除12001 10000和12001 11000)和创建具有相同文件名的新文件,如下所示

  • 12000:P:1:14
  • 12001 10500
  • 12001 10800

我在这里研究并阅读了许多答案,只有我发现它有用 sed -i'/10[0-4].../!d'* .file,但这只是部分好。我只能看到SED有(-i)选项。请帮忙

Screenshot of data in Notepad

1 个答案:

答案 0 :(得分:0)

Perl救援:

perl -ane 'print if 1 == $. || $F[1] >= 10500 && $F[1] <= 10800' file
  • -n逐行读取输入行
  • -a将每一行拆分为@F数组
  • $.是输入行号,因此标题行的1 == $.为真
  • $F[1]是第二列