我想在两个数字之间插入一个字符:foo bar 12 34
变成foo bar 12/34
.
所以我想要sed
匹配两个数字之间的空格并用斜杠替换它,但我不知道该怎么做。
我sed -e 's/[1-9][0-9] [1-9][0-9]/\//'
到目前为止,但我知道用斜线代替数字和空格。我需要在两个数字之间的行中找到空格,但只替换空格。也许我需要grep
找到它,但最后我仍然需要整行打印。
有任何想法吗?
微不足道awk
:
echo 'foo bar 12 34' | awk '{print $1,$2,$3"/"$4}'
确定要使用分隔符分隔的列,并将分隔符放在中间。
如果一行上有不同数量的字段,则使用循环标识要与下一个字段连接的字段。
怎么样:
sed 's|\([0-9]\) \([1-9]\)|\1\/\2|'
给你,我已经测试了以下正则表达式。
echo "foo bar 12 23" | sed -e 's/\(.*\)\([1-9][0-9]\)\(.\)\([1-9][0-9]\)/\1\2\/\4/'