[问题] 字串搜寻的问题

楼主: indianawang (阿川)   2011-11-29 21:22:25
各位网友:有个问题请教,
用grep时我知道可以用^代表我要找的档案中,有^后面
接开头文字那一行,但是若我要找的文字是在那一行文
字的第二栏,我想不到有什么方法可以例如:下面为该
档案内容。我若找123 开头的所在行,用grep ^123 myfile.txt,
就会出现第一行而已,第四行不会出现。但若我找该档
案中,第二栏ABC开头的所在行,用grep ABC myfile.txt,就四行
都会出现,而不是我想要的第一行、第四行难道要用grep ' ABC' myfile.txt来用吗?
谢谢大家的解惑!
myfile.txt
1234 ABCD 第一行
5678 DABC 第二行
1324 EABC 第三行
4123 ABCE 第四行
作者: mars90226 (火星人)   2010-01-29 21:27:00
应该是没有像是^之类的代表第二栏的东西,不过你可以\s用\sABC myfile.txt,\s表示空白,包含空白键、\t之类的
作者: LPH66 (-6.2598534e+18f)   2010-01-29 22:01:00
如果限定第二栏的话 ^\S*\s+ABC 类似这样\S 是 \s 的相反 它抓不是空白的东西
作者: qwertmn (抽筋)   2010-01-30 06:27:00
awk 'NR=4 {print $2}'只看最后一行看错意思= =" 拍谢awk '$2~/ABC/ {print}'
楼主: indianawang (阿川)   2011-02-10 19:43:00
awk '$2~/^ABC/ {print}' 因为是第二栏的开头,加^

Links booklink

Contact Us: admin [ a t ] ucptt.com