2013-02-27 95 views
0

我有一個文本文件,該文件是這樣的:打印線開始與特殊字符在shell腳本

#aabc 
ld 
#ac 
bc 
acz 
c 
#hello 

我想讀這個文件,並檢查線之間的線開始以「#」。如果該行以「#」開始,則忽略該行,如果該行不是以「#」開頭,​​則將整行重定向到另一個文件。 因此文件(新)的含量應在第一次嘗試:

ld 

我想修改的問題了一下。

問題就是這樣的, a)首先讀取文件直到第二次出現「#」,即直到上面的「#ac」。現在你有行:

#aabc 
ld 
#ac 

現在只將ld重定向到newfile並忽略#開始的行。

b)現在從第二次出現「#」讀取文件到第三次出現「」。在上面的問題。因此,我們有以下線路:

#ac 
bc 
acz 
c 
#hello 

現在只重定向ld在newfile1而忽略#開始行。

+0

嗯?你想要在'bc','acz'和'c'這兩行發生什麼? – bobbogo 2013-02-27 10:15:37

+0

嗨bobbogo'#'開始行只是表明之間的限制。所以這些將被忽略。 – user2069033 2013-02-27 10:18:22

回答

0

試試這個:

grep -v '^#' yourText > newfile 
+0

親愛的肯特,我需要的東西是:首先選擇了2個連續的「#」開始的行,然後讀取它們之間的界限。在下一個循環中再次選擇2個連續的「#」起始行,然後讀取它們之間的連線。 – user2069033 2013-02-27 10:39:48

+0

你能用這些信息修改你的問題嗎?還有輸入/輸出示例?從目前的問題來看,我的理解是忽略以'#'current開頭的行:'如果行以「#」開始,那麼忽略它,如果它不是以「#」開頭,​​那麼將整行重定向到另一個文件中。 – Kent 2013-02-27 10:41:47

+0

嗨肯特,我已經修改了問題,請檢查 – user2069033 2013-02-27 11:26:20

相關問題