grep有時顯示會變成空行 - Linux

Edith avatar
By Edith
at 2011-06-06T11:19

Table of Contents

我用鳥哥的文件做練習:
http://linux.vbird.org/linux_basic/0330regularex/regular_express.txt

其中5,6,7,8,9,14這幾行是WINDOWS的結尾^M$,而我用的參數是
grep -n --color=auto ...,目的是看到行號和標示kwy word。

今天鳥哥示範『至少兩個 o 以上的字串』時,就需要 ooo*
grep -n --color=auto ooo* regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
9:Oh! The soup taste good.
18:google is the best tools for search keyword.
19:goooooogle yes!

可以抓到1,2,3,9,18,19沒問題,但我想說*代表0到無限所以我用任意字元.也可以

grep -n --color=auto oo.* regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
9:Oh! The soup taste gmood.
18:google is the best tools for search keyword.
19:goooooogle yes!

但這時候第9行就消失了,變成空行在那邊。只要不用.,隨便改用%或是H等字元,
都不會鬼隱。

另外如果我把結果存成文字,兩種選項的內容一樣。而如果我把--color=auto拿掉的話,
第9行就會出現。

我用過別種關鍵字,發現鬼隱的條件有三個:

1.抓的內容是.*結尾
2.斷行是^M$
3.要加上顏色顯示的參數

現在雖然沒什麼大問題,但我實在很好奇為什麼會有這種結果,請問有人知道嗎?

--
起初,他們追殺共產主義者,我沒有說話,因為我不是共產主義者;
接著,他們追殺猶太人,我沒有說話,因為我不是猶太人;
後來,他們追殺工會成員,我沒有說話,因為我不是工會成員;
此後,他們追殺天主教徒,我沒有說話,因為我是新教教徒;
最後,他們奔我而來,卻再也沒有人站起來為我說話了。
《First They Came(他們首次來時)》,Martin Niemoller牧師(1892-1984)

--
Tags: Linux

All Comments

Linda avatar
By Linda
at 2011-06-11T02:53
grep -n --color=auto 'oo\.*' regular_express.txt
Rachel avatar
By Rachel
at 2011-06-12T16:53
你沒注意到他的顏色整個不一樣
Victoria avatar
By Victoria
at 2011-06-17T03:53
我猜是 grep 的 --color=auto 輸出遇到 DOS 斷行時出問題
Rosalind avatar
By Rosalind
at 2011-06-17T23:23
您可以把輸入結果 > /tmp/1 然後試試看就明白了
Jake avatar
By Jake
at 2011-06-18T18:27
@dou0228:因為句尾不一定是句號,所以我用任意字元,不跳脫
Faithe avatar
By Faithe
at 2011-06-18T22:16
@Tetralet:有試過,確實stdout到檔案的話就正常,不過顏色
就沒有了。
Joseph avatar
By Joseph
at 2011-06-23T05:59
那就翻一下原始碼吧 我論一定是 bug... XD

ubuntu桌面被迫全螢幕

Suhail Hany avatar
By Suhail Hany
at 2011-06-06T09:08
不知道是不是我點了桌面方塊效果的關係 現在我的桌面是全螢幕展開的狀態 也就是 上方沒有工具列(UBUNTU選單 時間 關機之類的) 左邊的 unity圖示也不見了 所有的視窗全部都沒有and#34;頂端列and#34;可以拖動 剛剛一直查文章找不到類似的狀況 我也完全不懂這是什麼情況... 請 ...

Ubuntu虛擬鍵盤

Carolina Franco avatar
By Carolina Franco
at 2011-06-05T21:17
Ubuntu有辦法叫出虛擬鍵盤嗎? 我用的事11.04 只看到登入有虛擬鍵盤 但是進去後就找不到了 有人可以幫幫忙嗎? - ...

如何把雙系統中的Win空間挪給Linux用

Emily avatar
By Emily
at 2011-06-05T20:08
我筆電只有一顆硬碟 本來是灌WinXP 分割成兩個槽(C andamp; D, 皆NTFS) 後來從D槽分一些些空間出來 裝了Ubuntu 11.04 檔案系統用ext4 現在長這樣: http://i.imgur.com/UWKoy.jpg 圖中右邊寫著28.68 GB跟1.86 GB的分別是 ...

LXDE左下角開始選單字型設定

Necoo avatar
By Necoo
at 2011-06-05T19:11
※ 引述《pshadow1 (pshadow)》之銘言: : 各位好,我用的是Linux Mint LXDE 10,開始選單字型有點小, : 我試著找了很多地方調整,然而沒有找到(在openbox組態管理裡面不能調整), : 也沒有看到官方文件檔(lxde有個缺點就是官方文件很少) : 請問有同用lxde的大 ...

CentOS 4.7 無法安裝GNOME

Adele avatar
By Adele
at 2011-06-05T16:42
自問自答 會發生找不到的原因來自於mirror的位置不太正確, 鳥哥建議設定國家高速網路中心的位置,並且必須yum clean all http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php 這樣才能正確的清除先前的資訊,接著安裝。 但是問題是 ...