加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 你如何为文件的每一行运行一个命令?

发布时间:2020-12-15 16:43:24 所属栏目:安全 来源:网络整理
导读:例如,现在我使用以下来更改一些文件的Unix路径我写入一个文件: cat file.txt |同时读入; do chmod 755“$ in”;完成 有更优雅,更安全的方式吗? 如果你的文件不是太大,所有的文件命名(没有空格或其他特殊的字符,如引号),你可以简单: chmod 755 $(file
例如,现在我使用以下来更改一些文件的Unix路径我写入一个文件:

cat file.txt |同时读入; do chmod 755“$ in”;完成

有更优雅,更安全的方式吗?

如果你的文件不是太大,所有的文件命名(没有空格或其他特殊的字符,如引号),你可以简单:
chmod 755 $(<file.txt)

如果你有特殊的字符和/或很多行在file.txt。

xargs -0 chmod 755 < <(tr n  <file.txt)

如果你的命令需要通过条目运行1次:

xargs -0 -n 1 chmod 755 < <(tr n  <file.txt)

这个示例不需要,因为chmod接受多个文件作为参数,但这匹配问题的标题。

对于某些特殊情况,甚至可以在xargs生成的命令中定义文件参数的位置:

xargs -0 -I '{}' -n 1 myWrapper -arg1 -file='{}' wrapCmd < <(tr n  <file.txt)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读