我必須編寫一個腳本來查找目錄中的所有可執行文件。所以我嘗試了幾種方法來實現它,並且他們實際上工作。但我想知道是否有更好的方法來這樣做。使用ls和grep查找可執行文件
所以這是我的第一種方法:
ls -Fla | grep \*$
這工作得很好,因爲-F標誌做的工作對我來說,並增加了每個可執行文件星號,但讓我們說,我不喜歡星號標誌。
因此,這是第二種方法:
ls -la | grep -E ^-.{2}x
這也工作得很好,我希望有一個破折號作爲第一個字符,然後我不感興趣,在未來兩個字符和第四個字符必須是X 。
但是在需求方面有點不明確,因爲我不知道是否需要檢查用戶,組或其他可執行權限。所以這將工作:
ls -la | grep -E ^-.{2}x\|^-.{5}x\|^-.{8}x
所以我測試的第四,第七和第十個字符是x。現在
我真正的問題,有沒有更好的解決方案使用LS和grep與正則表達式來表示:
我想用grep只有那些文件,具有由生產線的10首第1個字符至少一個X ls -la
感謝您在尋求幫助之前找到某種解決方案。既然你有使用ls和grep的要求,這似乎是一個家庭作業的問題,我看到有人要求作業的答案,而沒有嘗試(或至少沒有描述他們的嘗試)。我知道它差不多4年後,但即便如此,工作也很好。 –