shell求解: sadfasdf asdf20ghjkl qwerqwe80r zxcvbnm 使里面的数值20,80各自减去10
发布网友
发布时间:2022-04-30 02:30
我来回答
共2个回答
热心网友
时间:2023-10-06 03:52
#! /bin/bash
while read line
do
num=`echo "$line"|sed 's/[^0-9]*\([0-9]\+\).*/\1/'
replace_num=`expr $num - 10`
echo "$line"|sed "s/$num/$replace_num/" >>bakfile
done<yourfile
youfile是你的原始文件
bakfile是减去10后的文件
热心网友
时间:2023-10-06 03:52
直接替换可以吗?
echo 'sadfasdf asdf20ghjkl qwerqwe80r zxcvbnm' | sed 's/20/10/g' | sed 's/80/70/g'追问很多行,不同的数值自动转换,不要用手工
sadfasdf asdf20ghjkl
qwerqwe80r zxcvbnm
....
...
...