2013-04-27 67 views
-1

我是Unix新手。 我正在使用sed命令從Unix中的.txt文件中刪除垃圾。 這是命令,我used--正則表達式從Unix中的.txt文件中刪除垃圾

sed -e 's/[^ -~]//g' final.txt > file1_now 

但在這裏,我對着帆船越來越去掉一個問題,但如果我的數據中包含一個「 - 」這也將被刪除。我不想那樣。

感謝您的幫助。

感謝, Binayak

回答

1

試着這樣做:

sed -e 's/[^ ~-]//g' final.txt > file1_now 

-字符必須在你的字符類的最新(或第一),因爲意思是在其他情況下的不同:表示如[a-z]的範圍


- 如果字符是括號內的最後一個或第一個(^後面的字符),則將 - 字符視爲文字字符:[abc-],[-abc]。

http://en.wikipedia.org/wiki/Regular_expression

+0

連字符被用於字符範圍中的字符的類。 '[A-DF]'相當於'[ABCDF]'。所以,爲了讓連詞自己站立起來,要麼在它之前沒有任何東西,要麼什麼也沒有。否定的插入在前面,因此連字符必須在最後。 – 2013-04-27 11:01:13

相關問題