2011-07-05 70 views
1

在文件命名appleFile:如何使用這個「grep」命令grep這種模式?

1.apple_with_seeds### 
2.apple_with_seeds### 
3.apple_with_seeds_and_skins### 
4.apple_with_seeds_and_skins### 
5.apple_with_seeds_and_skins### 
..... 
..... 
..... 

如何使用grep命令只能用 「apple_with_seeds」 到grep模式??? 假設種子和皮膚後面有隨機字符。如果要排除的東西,嘗試-v選項 :

cat appleFile | grep "apple_with_seeds$" | grep -v "exclude_pattern" 

回答

2

也許這樣的事情會爲你工作

Result: 
1.apple_with_seeds### 
2.apple_with_seeds### 
+0

酷!這看起來更好的答案 –

0

試試這個

cat appleFile|grep -i seeds$ 
+0

種子後有什麼字符? 有沒有grep命令可以grep「patternA」,但不是在「patternB」? –

+0

在這種情況下,您可以直接'grep'apple_with_seeds ### $'' – Rahul

+1

爲什麼每個人都使用'cat'命令?沒有必要。對於任何命令,幾乎總是可以在命令後包含文件名,或者如果它類似於'tr'命令,則可以重定向文件。以這種方式使用'cat'會創建一個單獨的進程,當您在shell腳本中使用它時可能會導致問題。 –

2
cat appleFile | grep "apple_with_seeds$" 

UPDATE

grep 'apple_with_seeds[^_]' appleFile 

這將在seeds後打印所有沒有_字符的行。您可以添加要排除在括號之間的其他字符(但在^之後),例如[^_a-z]將另外排除所有小寫字母。

或者你可以明確地包括一些字符(如#):

grep 'apple_with_seeds[#]*$' appleFile 

而且又可以在括號之間,例如添加任意字符[#A-Z]將匹配任何字符#A-Z

+0

種子後有什麼字符? 有沒有grep命令可以grep「patternA」,但不是在「patternB」? –

+0

cat appleFile | grep「apple_with_seeds $」| grep -v「exclude_pattern」 –

+0

哦謝謝,那就是我想要的! –