[英]How to change the permissions on the files nested in subdirectories with single ack command?
我有以下目錄樹。
在VirutalBox中來回移動時,文件許可權被更改。 因此,我知道/不知道ack
可用於從命令行遞歸執行。
有人可以顯示ack
的命令來chmod 644
所有*.rb
文件嗎?
[~/dotfiles (master)⚡] ➔ tree
.
|-- cap_bash_autocomplete.rb
|-- dotfile_bash_aliases
|-- dotfile_bashrc
|-- rake_bash_autocomplete
|-- tidbits
| |-- README
| |-- lib
| | `-- aliasdir.rb
| |-- mhsrc
| |-- proxy.pac
| |-- rails-template.rb
| `-- tasks.thor
`-- usage
您不需要xargs。 查找具有選項exec, execdir
和ok
內置:
find ~/dotfiles -name "*.rb" -exec chmod 644 {} +
execdir
從文件所在的子目錄中執行命令, ok
要求確認。 您可以使用\\;
結束命令\\;
或+
,加號將一次執行多個文件,這有時會獲得更高的性能,但通常不相關,並且有時會損害性能,甚至不起作用(如果基礎命令不允許處理多個文件)。
我不知道ack
是什么,但是您可以使用標准的shell命令來實現:
find <top of directory tree> -name \*.rb | xargs chmod 644
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.