使用linux命令在txt文件中设置范围

时间:2016-02-02 08:30:56

标签: linux bash shell scripting centos

我有一个包含数字范围的文件

例如:

12345 00/99
123456 20/80

我希望将它们翻译成1234500并自动将每个数字写入1234599。

有没有办法用shell做这个?

1 个答案:

答案 0 :(得分:0)

Perl救援!

perl -lne 'if (m{(.*) (.*)/(.*)}) { print $1, $_ for $2 .. $3 }'
  • -n逐行读取输入行
  • -l为每个print
  • 添加换行符
  • m{}是匹配运算符
  • .匹配除换行符之外的任何内容
  • *表示"零次或多次"
  • 括号创建"捕获组"
  • 所以,我们匹配任何东西,空间,任何东西,斜线,任何东西;所有的事情分别以1美元,2美元和3美元记住
  • ..是范围运算符