
求一段shell脚本代码!
我有一个1.txt文件slkfjiowji03403Nenlfsfjkljwangyansldjfsijdflkjeiofs;ldi342323232212375Nfk;...
我有一个1.txt文件
slkfjiowji03403Nenlfsfjkljwangyansldjfsijdflkjeiof
s;ldi342323232212375Nfk;slkvdoivwanglskjdfljwiofjlskjflskj
welfjskljfanglkjfljewang
sldfjklkjwag
sdfjlkjeljfwgslkjdfskljdf
wwsdfksldjfkljeijdfiels
i23Nkldfjlj
--------------------------------------已上文件内容--------
我想将以i开头N结尾长度小于10的内容替换成iiii
举例slkfjiowji03403Nenlfsfjkljwangyansldjfsijdflkjeiof
slkfjiowjiiiienlfsfjkljwangyansldjfsijdflkjeiof
s;ldi342323232212375Nfk;slkvdoivwanglskjdfljwiofjlskjflskj
因为i到N长度大于10不替换
cat 1.txt | grep 'i[0-9]{0,10} 什么都查不出来! 展开
slkfjiowji03403Nenlfsfjkljwangyansldjfsijdflkjeiof
s;ldi342323232212375Nfk;slkvdoivwanglskjdfljwiofjlskjflskj
welfjskljfanglkjfljewang
sldfjklkjwag
sdfjlkjeljfwgslkjdfskljdf
wwsdfksldjfkljeijdfiels
i23Nkldfjlj
--------------------------------------已上文件内容--------
我想将以i开头N结尾长度小于10的内容替换成iiii
举例slkfjiowji03403Nenlfsfjkljwangyansldjfsijdflkjeiof
slkfjiowjiiiienlfsfjkljwangyansldjfsijdflkjeiof
s;ldi342323232212375Nfk;slkvdoivwanglskjdfljwiofjlskjflskj
因为i到N长度大于10不替换
cat 1.txt | grep 'i[0-9]{0,10} 什么都查不出来! 展开
1个回答
展开全部
可以用下面的方式,也就是sed命令
# sed 's/i\w\{0,10\}N/iiii/g' 1.txt
slkfjiiiienlfsfjkljwangyansldjfsijdflkjeiof
s;ldi342323232212375Nfk;slkvdoivwanglskjdfljwiofjlskjflskj
welfjskljfanglkjfljewang
sldfjklkjwag
sdfjlkjeljfwgslkjdfskljdf
wwsdfksldjfkljeijdfiels
iiiikldfjlj
# sed 's/i\w\{0,10\}N/iiii/g' 1.txt
slkfjiiiienlfsfjkljwangyansldjfsijdflkjeiof
s;ldi342323232212375Nfk;slkvdoivwanglskjdfljwiofjlskjflskj
welfjskljfanglkjfljewang
sldfjklkjwag
sdfjlkjeljfwgslkjdfskljdf
wwsdfksldjfkljeijdfiels
iiiikldfjlj
追问
slkfjiowji03403Nenlfsfjkljwangyansldjfsijdflkjeiof
这行 改一下slkfjiowji03N403Nenlfsfjkljwangyansldjfsijdflkjeiof
你这个程序就不好用了
我自己改了一下sed 's/i[0-9]\{0,10\}N/iiii/g' 1.txt 可以了!谢谢你!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询