我在帶反引號的perl腳本中使用grep。在perl中使用grep與正則表達式匹配
grep -r --include=*.txt -e '[a-zA-Z0-9]*\.[a-zA-Z]*$' $dir -n >> test.txt;
我想過濾出以文件名結尾的行。
例子: FILE1.TXT包含:
This is a file about file.txt
This file is about algorithms.
File.txtbis contains several functions.
There are also several files.
One of the files is sample.c
Another example is test.doc
我希望我的grep返回以下行:
This is a file about file.txt
One of the files is sample.c
Another example is test.doc
但我的grep命令不返回任何東西。
如果我刪除了「$」符號,則grep命令將返回文件的所有行,即使它與正則表達式不匹配。另外,我寧願過濾掉1個或多個字符,而不是0或更多,但grep只有*。我可以在grep中使用「+」作爲一個或多個字符嗎?
在反引號中使用grep有沒有限制?
'過濾掉以文件名結尾的行 - - 你是什麼意思?延期?任何擴展? – fugu
我已更新描述。我指的是任何擴展名。 –
可以將'-e'修改爲'-P'或'-E'。 – CWLiu