在Linux/Unix系統上,您有一個充滿文件的目錄。您想識別其中有電話號碼的文件,您可以假設電話號碼看起來像xxx-xxx-xxxx。您可以使用哪些標準的Unix工具來解決您的問題?Unix查詢---查找數字
我可以使用egrep '[0-9]+-[0-9]+-[0-9]+' *
有什麼辦法,我可以使用find命令來解決這個或其他任何命令來解決這個問題?
在Linux/Unix系統上,您有一個充滿文件的目錄。您想識別其中有電話號碼的文件,您可以假設電話號碼看起來像xxx-xxx-xxxx。您可以使用哪些標準的Unix工具來解決您的問題?Unix查詢---查找數字
我可以使用egrep '[0-9]+-[0-9]+-[0-9]+' *
有什麼辦法,我可以使用find命令來解決這個或其他任何命令來解決這個問題?
ls -1 | perl -lne 'print if(/^[\d]{3}-\d{3}-\d{4}$/)'
以下測試:
> touch 903-745-39913
> touch 903-745-3991
> ls -1 | perl -lne 'print if(/^[\d]{3}-\d{3}-\d{4}$/)'
903-745-3991
>
你的問題是不太clear.If你的意思電話號碼都存在裏面的文件。 然後,
ls| xargs perl -lne 'print if(/\b[\d]{3}-\d{3}-\d{4}\b/)'
將服務器的目的。
用sed
sed -n '/^[0-9]\{3\}-[0-9]\{3\}-[0-9]\{4\}/p' phonelist.txt
有什麼問題你寫的是什麼?如果您只想獲取文件名,並且沒有看到所有匹配的行,請使用'-l'選項來指定'egrep'。 – Barmar