Content #
下面的脚本使用子模式在大数(long number)中插入逗号: $ echo “1234567” | sed ‘{ > :start > s/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/ > t start}’ 1,234,567 $ 这个脚本将匹配模式分成了两个子模式: .*[0-9] [0-9]{3} sed会在文本行中查找这两个子模式。第一个子模式是以数字结尾的任意长度的字符串。第二个子模式是3位数字(正则表达式中花括号的用法参见第20章)。如果匹配到了相应的模式,就在两者之间加一个逗号,每个子模式都通过其序号来标示。这个脚本使用测试命令来遍历这个大数,直到所有的逗号都插入完毕。
From #
Linux命令行与shell脚本编程大全