啟動時,find -exec我會得到一個結果串列,用冒號分隔。有沒有辦法將這些冒號變成某種“列”分隔符(最好是空格串列)?
轉動:
Prompt> find ./ -name "*.*" -exec grep "namespace" {} /dev/null \;
./Alarm/AddedHandler.cs:namespace Alarm
./Alarm/DeletedHandler.cs:namespace Alarm
./Alarm/UpdatedHandler.cs:namespace Alarm
./Connections/AddedHandler.cs:namespace Connections
./Connections/DeletedHandler.cs:namespace Connections
./Connections/UpdatedHandler.cs:namespace Connections
./Robot.Api/AddedHandler.cs:namespace Robot
./Robot.Api/DeletedHandler.cs:namespace Robot
./Robot.Api/UpdatedHandler.cs:namespace Robot
... 進入:
Prompt> find ./ -name "*.*" -exec grep "namespace" {} /dev/null \; | <turn_colon_into_list_of_spaces>
./Alarm/AddedHandler.cs : namespace Alarm
./Alarm/DeletedHandler.cs : namespace Alarm
./Alarm/UpdatedHandler.cs : namespace Alarm
./Connections/AddedHandler.cs : namespace Connections
./Connections/DeletedHandler.cs : namespace Connections
./Connections/UpdatedHandler.cs : namespace Connections
./Robot.Api/AddedHandler.cs : namespace Robot
./Robot.Api/DeletedHandler.cs : namespace Robot
./Robot.Api/UpdatedHandler.cs : namespace Robot
(我不在乎冒號是否仍然存在。)
uj5u.com熱心網友回復:
您可以將輸出通過管道傳輸到column:
find ... | column -ts:
uj5u.com熱心網友回復:
這find sed應該適合你:
find . -type f -exec grep -H "namespace" {} | sed 's/:/\t\t\t/'
這里:
- 使用
-H選項 ingrep在輸出中獲取檔案名 - 用于
更高效的find執行 - 用于僅用3 個選項卡
sed替換第一個:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/512510.html
