51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

linux xargs用法

# linux xargs 用法 {#linux-xargs-用法}

本文讲述 linux xargs 命令的用法。很多 linux 命令都会提供各种输入参数, 那么有没有简单的方法,实现批量执行这个命令(而执行的每个命令的输入参数已经在一个文本文件中写好)。当然有方法了,那就是 xargs。

重要参数:

  • -I 用来指定接收参数的符号,如{}

  • -t 打印xargs后执行的命令

# 1. 批量修改文件名 {#_1-批量修改文件名}

  1. 准备要修改的文件

    (py3.6) wangshibiao@wangshibiao:~/test/testxargs$ ll 总用量 12 drwxrwxr-x 2 wangshibiao wangshibiao 4096 8月 7 17:01 ./ drwxrwxr-x 25 wangshibiao wangshibiao 4096 8月 7 16:59 ../ -rw-rw-r-- 1 wangshibiao wangshibiao 0 8月 7 16:59 file1.disable -rw-rw-r-- 1 wangshibiao wangshibiao 0 8月 7 16:59 file2.disable -rw-rw-r-- 1 wangshibiao wangshibiao 0 8月 7 16:59 file3.disable (py3.6) wangshibiao@wangshibiao:~/test/testxargs$

  2. 首先指定文件名的修改规则
    该规则可以定义在一个文本文件中

    (py3.6) wangshibiao@wangshibiao:~/test/testxargs$ cat ./file-rename-rule ./file1.disable ./file1 ./file2.disable ./file2 ./file3.disable ./file3 (py3.6) wangshibiao@wangshibiao:~/test/testxargs$ ll 总用量 12 drwxrwxr-x 2 wangshibiao wangshibiao 4096 8月 7 17:01 ./ drwxrwxr-x 25 wangshibiao wangshibiao 4096 8月 7 16:59 ../ -rw-rw-r-- 1 wangshibiao wangshibiao 0 8月 7 16:59 file1.disable -rw-rw-r-- 1 wangshibiao wangshibiao 0 8月 7 16:59 file2.disable -rw-rw-r-- 1 wangshibiao wangshibiao 0 8月 7 16:59 file3.disable -rw-rw-r-- 1 wangshibiao wangshibiao 72 8月 7 17:01 file-rename-rule (py3.6) wangshibiao@wangshibiao:~/test/testxargs$

  3. 将文本文件的内容交给 xargs 处理
    执行一个命令即可完成文件名修改操作

    (py3.6) wangshibiao@wangshibiao:~/test/testxargs$ cat ./file-rename-rule | xargs -t -n 2 sh -c 'mv $0 $1' sh -c mv $0 $1 ./file1.disable ./file1 sh -c mv $0 $1 ./file2.disable ./file2 sh -c mv $0 $1 ./file3.disable ./file3 (py3.6) wangshibiao@wangshibiao:~/test/testxargs$ ll 总用量 12 drwxrwxr-x 2 wangshibiao wangshibiao 4096 8月 7 17:03 ./ drwxrwxr-x 25 wangshibiao wangshibiao 4096 8月 7 16:59 ../ -rw-rw-r-- 1 wangshibiao wangshibiao 0 8月 7 16:59 file1 -rw-rw-r-- 1 wangshibiao wangshibiao 0 8月 7 16:59 file2 -rw-rw-r-- 1 wangshibiao wangshibiao 0 8月 7 16:59 file3 -rw-rw-r-- 1 wangshibiao wangshibiao 72 8月 7 17:01 file-rename-rule (py3.6) wangshibiao@wangshibiao:~/test/testxargs$

# 2. 每行首尾补充内容 {#_2-每行首尾补充内容}

cat ./file | xargs -I '{}' echo 行首内容{}行尾内容

当然,您可以仅对行首或行尾补充内容

赞(5)
未经允许不得转载:工具盒子 » linux xargs用法