要匹配4个字母 sed里面可以用 /[a-zA-Z]\{4\}/匹配 awk下用就没反应。 awk是不是不支持 a\{m\}这个m次重复a ?? 那在awk下有没有别的取代的表达, 不会只能重复4次吧 [a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]
有一个文件aaa,里边几行,样子大概都是这样 name:11111:2222//333333\:44444/555556666 我然后我希望操作的是,找出这个文件以name开头的这行(name开头的就一行) 然后取出333333和44444两个值,然后用从别的地方获取的2个值(比如定义了2个值)替换333333和44444 [code] #!/bin/sh aa=123321 bb=234567 grep "name" aaa|awk -F/ '{print $3}'|awk -F '\\\\:' '{print $1 $2}' sed -i '/^name/{s/$1/$aa/;s/$2/$bb/}' aaa...
这几天,在此版块看到众多高手写的各种正则,大部分看不懂,这里有几个问题? 1. 你们这些所谓的高手,为什么只给答案,而不给解释,就算知道答案,人家也不可能明白其中的道理,你们是否想过这个问题? 2. 感觉学起来无从下手,各位前辈是否可以谈谈自己的学习之路?这样可能对大家更有帮助. 注: 本人并没有针对任何人, 只是说下自己心里所想的,所以请不要放在心上.
file: 123 aaa 456 bbb 345 ccc 126 aac 用sed如何筛选出必须含有12和aa的行 用awk如何筛选出必须$1含有12,并且$2含有aa的行 谢谢
有一文件内包含如下一行 DEFAULT|M|1000|2000|4000|3000|2000|4000|25000000|6000|5s|25|1d|30s|30m|4|1h|1 我想对该行第14个对象进行替换操作 我知道我可以 awk -F "|" '/^DEFAULT/{print $14}' filename 我也知道我可以用sed 进行 -i 替换, 现在我如何用一行混合sed和awk直接替换以|为分界的第14行呢 比如 sed -i 's/{print $14}/new/' filename 呢 谢谢大家