首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在从"find | xargs“运行的命令中使用参数扩展,以防止覆盖输出

| xargs"运行的命令中使用参数扩展,以防止覆盖输出。

在使用"find | xargs"命令时,如果不进行参数扩展,可能会导致输出被覆盖的问题。参数扩展是指将命令中的特殊字符或变量进行替换,以生成最终的命令行。

为了避免覆盖输出,可以使用参数扩展来确保每个文件名都被正确处理。在这种情况下,可以使用{}来表示文件名的占位符,并在xargs命令中使用-I参数来指定该占位符。

下面是一个示例命令:

find . -type f -name "*.txt" -print0 | xargs -0 -I {} cp {} /destination/folder

在这个例子中,find命令用于查找当前目录下所有扩展名为.txt的文件,并通过-print0选项将文件名以null字符分隔输出。然后,xargs命令使用-0选项来接收null字符分隔的输入,并通过-I {}参数来指定{}作为文件名的占位符。最后,cp命令将每个文件复制到目标文件夹。

这样做的好处是,无论文件名中是否包含空格或其他特殊字符,都能正确处理,避免了覆盖输出的问题。

腾讯云相关产品推荐:

  • 云服务器(CVM):提供弹性计算能力,可根据业务需求灵活调整配置。
  • 云数据库 MySQL版(CDB):提供高可用、可扩展的关系型数据库服务。
  • 对象存储(COS):提供安全、稳定、低成本的云端存储服务。
  • 云函数(SCF):无服务器计算服务,支持按需运行代码,无需管理服务器。
  • 人工智能机器学习平台(AI Lab):提供丰富的人工智能算法和模型训练平台。

更多腾讯云产品信息,请访问腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux每日命令(23):find命令xargs

但有些系统对能够传递给exec命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。...在有些系统使用-exec选项会为处理每一个匹配到文件而发起一个相应进程,并非将匹配到文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降问题,因而效率不高; 而使用xargs...另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数数目都会根据该命令选项及系统内核相应可调参数来确定。 1....从当前目录下开始查找名称log开头文件或目录,并将其移动到dir1目录 命令find ....从当前目录下开始查找名称log开头文件或目录,并将其移动到当前目录父级目录,移动时,进行询问 命令find . -name "log*" | xargs -p -i mv {} ..

1.3K20

利用 Linux 查找重复文件

方法一:使用Find命令 本部分算是对find强大功能扩展使用方法说明。...在find基础上,我们可与(如xargs命令)等其它基本Linux命令相结合,即能创造出无限命令行功能,比如:可以快速查找出Linux某个文件夹及其子文件夹重复文件列表。...最后这里表示对MD5前32个字节进行对比,筛选出重复文件 使用命令整个过程就是这么简单和容易。...后半部分是find -type f -size {}c -print0,find指令我们前面见过,-size{}是指找出大小为{}bytes文件,而-print0则是为了防止文件名里带空格而写参数。...man一下xargs,我们看到-0表示读取参数时候null为分隔符读取,这也不难理解,毕竟null二进制表示就是00。后面的md5sum是指计算输入md5值。

4.1K30
  • Linux 查找重复文件方法汇总

    方法一:使用Find命令 本部分算是对find强大功能扩展使用方法说明。...在find基础上,我们可与(如xargs命令)等其它基本Linux命令相结合,即能创造出无限命令行功能,比如:可以快速查找出Linux某个文件夹及其子文件夹重复文件列表。...最后这里表示对MD5前32个字节进行对比,筛选出重复文件 使用命令整个过程就是这么简单和容易。...后半部分是find -type f -size {}c -print0,find指令我们前面见过,-size{}是指找出大小为{}bytes文件,而-print0则是为了防止文件名里带空格而写参数。...man一下xargs,我们看到-0表示读取参数时候null为分隔符读取,这也不难理解,毕竟null二进制表示就是00。后面的md5sum是指计算输入md5值。

    2.4K30

    利用 Linux 查找重复文件

    方法一:使用Find命令 本部分算是对find强大功能扩展使用方法说明。...在find基础上,我们可与(如xargs命令)等其它基本Linux命令相结合,即能创造出无限命令行功能,比如:可以快速查找出Linux某个文件夹及其子文件夹重复文件列表。...最后这里表示对MD5前32个字节进行对比,筛选出重复文件 使用命令整个过程就是这么简单和容易。...后半部分是find -type f -size {}c -print0,find指令我们前面见过,-size{}是指找出大小为{}bytes文件,而-print0则是为了防止文件名里带空格而写参数。...man一下xargs,我们看到-0表示读取参数时候null为分隔符读取,这也不难理解,毕竟null二进制表示就是00。后面的md5sum是指计算输入md5值。

    5.6K50

    第十章·Linux系统管理-输入输出

    进程使用文件描述符(file descriptors)来管理打开文件  cat命令为例, cat命令功能是从命令行给出文件读取数据,并将这些数据直接送到标准输出。...若使用如下命令: #会把文件`/etc/passwd`内容依次显示到屏幕上 [root@zls ~]# cat /etc/passwd 但如果cat命令没有参数, 它就会从标准输入读取数据, 并将其送到标准输出...>> 将命令执行结果追加输出到指定文件 错误覆盖输出重定向 2> 将程序错误结果输出到执行文件,会覆盖源文件内容 错误追加输出重定向 2>> 将程序输出错误结果追加方式输出到指定文件,...不会覆盖源文件 标准输入重定向 << 将命令接收输入途径由默认键盘更改为指定文件 ---- 案例1: 标准输出重定向(覆盖)  #标准输出重定向, 先清空,后写入, 如果文件不存在则创建...xargs参数列表转换成小块分段传递给其他命令 读入stdin数据转换为参数添加至命令后面 让一些不支持管道命令可以使用管道。

    1.1K40

    Linux xargs命令介绍

    Linux xargs 命令是一个非常有用命令行工具,可以将一些参数集合传递给其他命令作为参数,并利用指定命令进行处理。...例如,删除 /tmp 目录下所有扩展名为 .txt 文件: find /tmp -name "*.txt" | xargs rm 示例2:将多个文件传递给其他命令    你可以使用 xargs 命令将多个文件传递给其他命令...执行以下命令: ls | xargs du -sh 这将输出当前目录下所有文件大小,并输出一个总计。 示例3:更改多个文件权限    你可以使用 xargs 命令执行多个文件权限更改操作。...例如,找到某个目录 .txt 结尾文件,并将它们复制到 /home/user 目录并输出复制文件名: find /data -name "*.txt" -print0 | xargs -0 sh...-c 'echo $0 && cp $0 /home/user' {} 示例5:在命令交互式运行xargs    你可以使用 -i 参数命令交互式运行 xargs 命令,并根据每个参数提示用户输入一些信息

    1.4K00

    Linux基础命令

    ,带有c时表示文件长度字节计 findxargs使用find命令-exec选项处理匹配到文件时, find命令将所有匹配到文件一起传递给exec执行。...但有些系统对能够传递给exec命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。...这就是xargs命令用处所在,特别是与find命令一起使用find命令把匹配到文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。...在有些系统使用-exec选项会为处理每一个匹配到文件而发起一个相应进程,并非将匹配到文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降问题,因而效率不高;而使用xargs...另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数数目都会根据该命令选项及系统内核相应可调参数来确定 find删除     [root@leon home

    90300

    一天一个 Linux 命令(22):xargs 命令

    xargs 可以将管道或标准输入(stdin)数据转换成命令参数,也能够从文件输出读取数据。 xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。...REPLACE_STR 可以使用 {} $ @ 等符号,其主要作用是当 xargs command 后有多个参数时,调整参数位置。例如备份 txt 为后缀文件:find ....如果需要xargs多次运行指定命令,则使用-n参数,指定要传递给命令参数个数,认情况下,传递给命令参数数量由系统限制决定。...y 6.如何在xargs后面运行多项命令使用xargs运行多个命令使用-i或者-I选项。在-i或者-I后面自定义一个传递参数符号,如%,所有匹配项都会替换为传递给xargs参数。...find命令有一个特别的参数-print0,指定输出文件列表null分隔。然后,xargs命令-0参数表示用null当作分隔符。

    2.1K20

    xargs使用

    给其他命令传递参数一个过滤器 2. xargs可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。 3....因为是以空白字元作为分隔, 所以如果有一些档名或者是其他意义名词内含有空白字元时候, xargs 可能会误判, 如果需要处理特殊字符, 需要使用-0参数进行处理.”...这里就可以看出xargs 和 管道直接传一个重要区别: 管道是实现”将前面的标准输出作为后面的标准输入”. xargs是实现”将标准输入作为命令参数”. 所以 find ....结论 find, xargs和wc联合使用, 查找代码行数思路如下: find: 负责找到所有符合要求cs文件路径. xargs: 将cs文件路径命令参数形式传给wc....wc: wc -l 加上find传进来参数. 形如”wc -l ./SmallInsert.cs”, 这样就可以查找这个cs文件一共有多少行代码. 这里有个对xargs使用介绍文章, 很赞.

    61820

    Shell脚本之常用Linux命令使用介绍

    其读取输入数据重新格式化后输出,它擅长将标准输入数据转换成命令参数,而且能够处理管道或者stdin并将其转换成特定命令命令参数,也可以将单行或多行文本输入转换为其他格式,例如多行变单行以及单行变多行...; xargs 可以将管道或标准输入(stdin)数据转换成命令参数,也能够从文件输出读取数据。...xargs 是一个强有力命令,它能够捕获一个命令输出,然后传递给另外一个命令, Tips: 关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了 xargs 命令 语法选项...,当-I与xargx联合使用时候每一个参数命令都会被执行一次,类似于find-ok/-exec选项 -i,-I # 这得看linux支持了,将xargs每项名称,一般是一行一行赋值给 {},可以用...-n, --max-args=MAX-ARGS # 每个命令最多使用MAX-ARGS参数行 -P, --max-procs=MAX-PROCS # 一次运行最多max-procs进程 -p, --

    1.3K20

    日拱一卒,麻省理工教你CS基础,那些酷炫无比命令行工具

    这个特性可以自动地根据你当前输入内容用前缀匹配方式展示最近一次命令匹配结果。它也可以在zsh激活,这是shell一个非常重要技巧。 你可以修改你历史行为,比如防止命令空格开头。...为了打通这两者之间信息沟通,有一个叫做xargs命令,可以使用STDIN当做参数运行命令。比如ls | xargs rm将会删除当前路径下所有文件。...如果你是macOS,需要注意,find和GNU coreutils不同。你可以使用find -print0以及xargs-0flag。...但find命令都是直接输出,我们需要使用-print0这个flag,将它输出改写到stdout。 之后我们需要将之前输出作为命令参数,需要用到xargs命令。...接着我们需要使用ls命令对它进行排序。这里我们一样使用-print0和xargs -0两个命令来进行衔接,加上ls命令显示更多信息参数,以及排序即可。 find .

    1.6K40

    Linux操作10个好习惯

    xargs命令来过滤find命令输出。...在列表命令分组。  在 find 之外使用 xargs。  了解何时 grep 应该执行计数——何时应该绕过。  匹配输出某些字段,而不只是对行进行匹配。 ...a; } | mailx admin -S "New archive" 在 find 之外使用 xargs 使用 xargs 工具作为筛选器,充分利用从 find 命令挑选输出。...此列表被传递到 xargs 上,后者然后使用该文件列表作为参数运行其他某些有用命令,如以下示例所示: 清单 13. xargs 工具经典用法示例~ $ find some-file-criteria...缺省情况下,文件结束字符串是下划线 (_);如果将该字符作为单个输入参数来发送,则它之后所有内容将被忽略。为了防止这种情况发生,可以使用 -e 标志,它在不带参数情况下完全禁用结束字符串。

    1K30

    Xargs入门与进阶

    [TOC] xargs 命令(重要) 描述:它是命令传参过滤器、命令组合工具用作替换工具,读取输入数据重新格式化后输出,它擅长将标准输入数据转换成命令参数,而且能够处理管道或者stdin并将其转换成特定命令命令参数...,当-I与xargx联合使用时候每一个参数命令都会被执行一次,类似于find-ok/-exec选项 -n, --max-args=MAX-ARGS #每个命令最多使用MAX-ARGS参数行 -P..., --max-procs=MAX-PROCS #一次运行最多max-procs进程 -p, --interactive #运行命令前提示 -s, --max-chars=MAX-CHARS...WeiyiGeek.示例1 #示例3.读取stdin将格式化后参数传递给命令 #假设一个命令为 sk.sh 和一个保存参数文件arg.txt: #!...用xargs去避免这个问题: find . -type f -name "*.log" -print0 | xargs -n1 --null #换行或者空格分割-n1有关系 # .

    98232

    Linux 命令:每日一学,参数传递之xargs命令实践

    脚本中常用参数替换 xargs 命令进行实践学习,从而实现更加强大参数传递和多进程并行执行Linux命令或脚本等 0x02 参数替换 xargs 命令 - 将标准输入数据转换为命令参数 描述...例如,使用 rm 命令删除百万级文件时会提示参数过多,这时可使用 find 命令 或 ls 命令xargs 命令联用进行删除。。...-I R # 指定一个替换字符串{},这个字符串再xargs扩展时会被替换掉,当-I与xargx联合使用时候每一个参数命令都会被执行一次,类似于find-ok/-exec选项 -i, --replace...ccc -l 9.在xargs,可以使用 $* 获取所有参数, 以此来进行格式化拼接输出。...xargs格式化之后输出 10.将 xargs 与其他命令结合使用,进行更复杂操作: # 例1.查找所有 .log 文件包含 "Error" 行,并对结果进行排序和去重,最后统计每个唯一行出现次数

    15510

    linux常用指令学习记录

    ,一般情况下都是相对路径,防止数据覆盖 --exclude=FILE: 在压缩过程不要讲FILE打包进去 --newer: 打包ctime和mtime在日期后面的文件 --newer-mtime:打包...expr : str, expr = str 数据流重定向 >/1>: 覆盖方式将正确数据输出到指定文件或设备上 >>/1>>: 累加方式将正确数据输出到指定文件或设备上 2>: 覆盖方式将错误信息输出到指定文件或设备上...list文件 cat > catfile < ~/.bashrc #将.bashrc内容拷贝并覆盖到catfile cat > catfile << "eof" #输入eof后立刻结束 选取命令...-i: 大小写无关 -c: 计数统计 tee 双重重定向,将一份输出同时输出到文件和标准输出流 tee [-a] filename -a: 添加到文件后面 xargs 读入stdin数据,并且某种分割字符将其分割成参数...该命令适合于不支持管道命令来支持管道操作 xargs [-0epn] command -0: 将特殊字符还原成一般字符 -e: EOF,当xargs分析到这个参数时会停止解析 -p:在执行每个命令参数

    1.3K20

    UNIX 高手 10 个习惯

    6、在列表命令分组。 7、在 find 之外使用 xargs。 8、了解何时 grep 应该执行计数——何时应该绕过。 9、匹配输出某些字段,而不只是对行进行匹配。...在当前 Shell 运行命令列表 将命令列表用大括号 ({}) 括起来,在当前 Shell 运行。确保在括号与实际命令之间包括空格,否则 Shell 可能无法正确解释括号。...a; } | mailx admin -S "New archive" 在 find 之外使用 xargs 使用 xargs 工具作为筛选器,充分利用从 find 命令挑选输出。...此列表被传递到 xargs上,后者然后使用该文件列表作为参数运行其他某些有用命令,如以下示例所示: 清单 13. xargs 工具经典用法示例 ~ $ find some-file-criteria...缺省情况下,文件结束字符串是下划线 (_);如果将该字符作为单个输入参数来发送,则它之后所有内容将被忽略。为了防止这种情况发生,可以使用 -e 标志,它在不带参数情况下完全禁用结束字符串。

    1.2K90

    shell 学习笔记(17)

    .另一用户身份运行一个命令: runuser -l userNameHere -c 'command' # runuser -l nginx -c 'ulimit -SHa'...-n,防止不匹配时候全文输出 cut默认就是制表符 \t,就像 echo 不支持 \t 要 -e 才行 或者 \t用 CTRL+V+TAB ;CTRL+V +I 代替 1689.获取管道里各个命令执行状态...UDP协议 1697.find -empty可以找出空目录,-size 0不行,-exec后面肯定要用\;或者+来执行方式 find -print0|xargs -0,这两个参数就是互相配合...如果你不理解+和;区别,最好还是用xargs,而且xargs还能限制命令行长度,参数个数,比exec+和;强大多了 ; 一个是每个参数执行一次,cmd arg1;cmd arg2...;ls|xargs -I{} echo {} 或者 xargs -n1 + 是所有参数执行一次,cmd arg1 agr2;ls|xargs echo 1698.(())算术扩展类eval应用

    1.1K80

    Linux命令查找文件或目录 find及结合xargs应用

    find 命令可以根据给定路劲和表达式查找指定文件或目录。find 参数选项很多,并且支持正则表达式,功能强大。 和管道结合使用可以实现复杂功能,是系统管理和普通用户必须掌握命令。...一、find 命令格式说明 path find命令查找目录路径。 -print find命令将匹配到文件输出到标准输出。...二、find命令常用参数说明   -name 按照文件名查找文件   -cpio: 对匹配文件使用 cpio 命令,将这些文件备份到磁带设备  -prune 按照文件权限进行查找文件    -...echo $* arg.txt文件内容: cat arg.txt aaa bbb ccc xargs一个选项-I,使用-I指定一个替换字符串{},这个字符串在xargs扩展时会被替换掉,当...-c 五、xargs结合find使用   find命令可以把匹配到文件传递给 xargs 命令执行,在使用 find 命令 -exec 选项处理匹配到文件时,find将所有匹配到文件一起传递给

    4.2K20

    xargs 命令教程

    三、xargs 单独使用 xargs后面的命令默认是echo。 $ xargs # 等同于 $ xargs echo 大多数时候,xargs命令都是跟管道一起使用。但是,它也可以单独使用。...echo命令-e参数表示解释转义字符。 五、-p 参数,-t 参数 使用xargs命令以后,由于存在转换参数过程,有时需要确认一下到底执行是什么命令。...find命令有一个特别的参数-print0,指定输出文件列表null分隔。然后,xargs命令-0参数表示用null当作分隔符。...$ echo -e "a\nb\nc" | xargs -L 1 echo a b c 上面代码指定每行运行一次echo命令,所以echo命令执行了三次,输出了三行。...所以,10个阿拉伯数字运行了五次echo命令输出了五行。 九、-I 参数 如果xargs要将命令参数传给多个命令,可以使用-I参数。 -I指定每一项命令参数替代字符串。

    73520

    Linux常用命令11 - xargs

    如何使用 xargs 命令 xargs 从标准输入读取参数(由空格或换行符分隔) ,并使用输入作为命令参数执行指定命令。 如果没有提供命令,则默认为/bin/echo。...xargs 命令语法如下: xargs [OPTIONS] [COMMAND [initial-arguments]] 使用 xargs 最基本示例是使用管道向 xargs 传递空格分隔几个字符串...,并运行一个将这些字符串用作参数命令。...n (--max-args)选项指定传递给给定命令参数数目。 xargs 根据需要多次运行指定命令,直到所有参数都用完为止。 在下面的示例,从标准输入读取参数数目被限制为1。...xargs 可以使用-0,(-null)选项正确地解释这个输出。 在下面的示例find 将打印/var/www/中所有文件完整名称。

    1.3K20
    领券