簡體   English   中英

如何使用單個ack命令更改嵌套在子目錄中的文件的權限?

[英]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, execdirok內置:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM