Grep
grep 或 sed 查找大於給定數量的整數值?
這是參考另一個問題:如何使用 robocopy 遞歸地列出超過一定大小的所有文件?
我想解析命令的輸出(或 cat 日誌文件)並找到一個字元串值,將其轉換為整數,然後查看該整數值是否大於給定整數。
例如,給定以下行:
*EXTRA File 78223 C:\_Google.Enterprise.Contract.2010-06-01.pdf
我想將“78223”與“10485760”進行比較。這可以用 grep 或 sed 嗎?
謝謝!
使用
awk
如下:$ echo '*EXTRA File 78223 C:\foo.pdf' | awk '$3 > 1048576 {print $0;}' $ echo '*EXTRA File 78223 C:\foo.pdf' | awk '$3 > 40000 {print $0;}' *EXTRA File 78223 C:\foo.pdf
另外 - 如果您使用的是類 Unix 使用者空間(如 UnxUtils 或 Cygwin,如果您在 Windows 上),您可以使用
find
參數-size
直接獲取文件列表,然後通過管道傳輸到 xargs 並執行任何操作試圖處理選定的文件。您的問題(有趣的比較和其他操作)的一般答案確實是 awk 或 bash(使用 bc)或 perl - 但具體情況適合
find
.