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

find和xargs命令组合使用处理带空格文件名文件

当用find命令查找文件然后用xargs来批量处理文件时,当文件名中包含空格字符时,就会导致处理失败,因为xargs会认为空格前后分别是两个不同文件。...如下图: 我们查看find命令帮助文档可以发现,它有一个专门针对该情况并配合xargs命令参数:-print0 -print0 True; print the full...This option corresponds to the -0 option of xargs. 与find默认-print参数相比,它输出序列不是以空格分隔,而是以null字符分隔。...而xargs也有一个参数-0,可以接受以null而非空格间隔输入流。 所以,假如我们要找到当前目录下所有文件名以1).jpg结尾文件并将它们全部删除掉时,就可以像下面这样操作: find ....-name "*1).jpg" -print0 | xargs -0 rm -f

22810

【Linux】linux查找某目录下包含关键字内容文件find、grepxargs高级应用

不然对包含空格、引号或其他特殊字符文件名执行操作可能无法按预期进行。 对文件采取任何操作时,都应使用这些选项。 cp 命令 -t 参数很重要,因为 cp 通常要求目的地址在最后。...方案二:使用find和xargs 首先使用find命令查找所有.txt文件,然后通过xargs将这些文件作为grep参数: find /home/user/docs -type f -name "*....txt" -print0 | xargs -0 grep "keyword" 这里-print0和-0选项确保文件名被正确处理,即使包含空格或特殊字符。...注意事项: 文件名处理:使用-print0和-0选项确保文件名被正确处理,特别是在文件名包含空格或特殊字符时。...搜索模式:根据需要选择合适grep搜索模式,例如使用-i进行不区分大小写搜索。

1.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux文本处理详细教程

    我对shell脚本使用原则是命令单行书写,尽量不要超过2行; 如果有更为复杂任务需求,还是考虑python吧; 1.1. find 文件查找 查找txt和pdf文件: find . \( -name.../commands.sh {} \; -print定界符 默认使用’\n’作为文件定界符; -print0 使用’\0’作为文件定界符,这样就可以搜索包含空格文件; 1.2. grep 文本搜索...“text” filename -n 打印匹配行号 -i 搜索时忽略大小写 -l 只打印文件名 在多级目录中对文本递归搜索(程序员搜代码最爱): grep "class" ....-R -n 匹配多个模式: grep -e "class" -e "vitural" file grep输出以0作为结尾符文件名(-z): grep "test" file* -lZ| xargs -...比如grep,比如find; - 将多行输出转化为单行输出 cat file.txt| xargs n 是多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3

    4.3K20

    史上最全 Linux Shell 文本处理工具集锦,快收藏!

    来自:大CC 链接:www.cnblogs.com/me15/p/3427319.html 本文将介绍Linux下使用Shell处理文本时最常用工具: find、grepxargs、sort、uniq...吧; 01 find 文件查找 1 查找txt和pdf文件 find . ( -name "*.txt" -o -name "*.pdf" ) -print 2 正则方式查找.txt和pdf find.../commands.sh {} ; -print定界符 默认使用' '作为文件定界符; -print0 使用''作为文件定界符,这样就可以搜索包含空格文件; 02 grep 文本搜索 grep...-R -n 2 匹配多个模式 grep -e "class" -e "vitural" file 3 grep输出以作为结尾符文件名:(-z) grep "test" file* -lZ| xargs...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs 是多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3 -n:

    4K50

    Linux Shell 文本处理工具集锦

    本文将介绍Linux下使用Shell处理文本时最常用工具:find、grepxargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供例子和参数都是最常用和最为实用;...我对shell脚本使用原则是命令单行书写,尽量不要超过2行; 如果有更为复杂任务需求,还是考虑python吧; find 文件查找 查找txt和pdf文件 find . \( -name "*.txt.../commands.sh {} \; -print定界符 默认使用’\n’作为文件定界符; -print0 使用’\0’作为文件定界符,这样就可以搜索包含空格文件; grep 文本搜索 grep...-R -n 匹配多个模式 grep -e "class" -e "vitural" file grep输出以\0作为结尾符文件名:(-z) grep "test" file* -lZ| xargs -...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs \n 是多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3

    3.3K70

    Linux文本处理工具,看这篇就够了。

    作者:大CC原文:www.cnblogs.com/me15/p/3427319.html 本文将介绍Linux下使用Shell处理文本时最常用工具: find、grepxargs、sort、uniq...吧; 01 find 文件查找 1 查找txt和pdf文件 find . ( -name "*.txt" -o -name "*.pdf" ) -print 2 正则方式查找.txt和pdf find.../commands.sh {} ; -print定界符 默认使用' '作为文件定界符; -print0 使用''作为文件定界符,这样就可以搜索包含空格文件; 02 grep 文本搜索 grep...-R -n 2 匹配多个模式 grep -e "class" -e "vitural" file 3 grep输出以作为结尾符文件名:(-z) grep "test" file* -lZ| xargs...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs 是多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3 -n:

    4.5K10

    搞定Linux Shell文本处理工具,看完这篇集锦就够了

    下面我介绍Linux下使用Shell处理文本时最常用工具: find、grepxargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供例子和参数都是最常用和最为实用...; 我对shell脚本使用原则是命令单行书写,尽量不要超过2行; 如果有更为复杂任务需求,还是考虑python吧; 1、find 文件查找 查找txt和pdf文件 find . \( -name.../commands.sh {} \; -print定界符 默认使用'\n'作为文件定界符; -print0 使用'\0'作为文件定界符,这样就可以搜索包含空格文件; 2、grep 文本搜索 grep...-R -n 匹配多个模式 grep -e "class" -e "vitural" file grep输出以\0作为结尾符文件名:(-z) grep "test" file* -lZ| xargs...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs \n 是多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3

    6.4K41

    搞定 Linux Shell 文本处理工具

    本文将介绍Linux下使用Shell处理文本时最常用工具:find、grepxargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供例子和参数都是最常用和最为实用;...对shell脚本使用原则是命令单行书写,尽量不要超过2行; 如果有更为复杂任务需求,还是考虑python吧. 1、find 文件查找 查找txt和pdf文件 find . ( -name "*..../commands.sh {} ; #-print定界符 默认使用' '作为文件定界符; -print0 使用''作为文件定界符,这样就可以搜索包含空格文件; 2、grep 文本搜索 grep...-R -n 匹配多个模式 grep -e "class" -e "vitural" file grep输出以作为结尾符文件名:(-z) grep "test" file* -lZ| xargs -0...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs 是多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3#-

    1.7K10

    搞定 Linux Shell 文本处理工具操作命令

    本文将介绍Linux下使用Shell处理文本时最常用工具:find、grepxargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供例子和参数都是最常用和最为实用...;对shell脚本使用原则是命令单行书写,尽量不要超过2行;如果有更为复杂任务需求,还是考虑python吧. 1、find 文件查找 查找txt和pdf文件 find . ( -name "*.txt.../commands.sh {} ; #-print定界符 默认使用' '作为文件定界符; -print0 使用''作为文件定界符,这样就可以搜索包含空格文件; 2、grep 文本搜索 grep...-R -n 匹配多个模式 grep -e "class" -e "vitural" file grep输出以作为结尾符文件名:(-z) grep "test" file* -lZ| xargs -0 ...比如grep,比如find; 将多行输出转化为单行输出 cat file.txtxargs 是多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3 #-n

    2.5K20

    Linux之文件管理及文本处理

    使用Shell处理文本时最常用工具: find、grepxargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供例子和参数都是常用; 3.1. find 文件查找.../commands.sh {} \; -print定界符 默认使用’\n’作为文件定界符; -print0 使用’\0’作为文件定界符,这样就可以搜索包含空格文件; 3.2. grep...grep -c “text” filename -n 打印匹配行号 -i 搜索时忽略大小写 -l 只打印文件名 在多级目录中对文本递归搜索(程序员搜代码最爱...-R -n 匹配多个模式: grep -e "class" -e "vitural" file grep输出以0作为结尾符文件名(-z): grep "test" file* -lZ| xargs...比如grep,比如find; - 将多行输出转化为单行输出 cat file.txt| xargs n 是多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs

    1.8K20

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

    由于很多命令不支持|管道来传递参数,此时就需要 xargs 命令帮助,它可以读入stdin 数据,并将格式化(空格符、回车符进行分隔)后数据作为命令参数,还可以将单行或多行文本输入转换为其他格式...处理参数后显示列数 2.指定一个定界符进行分割传递过来参数字符串 # 默认情况下,xargs 是以换行符,或空格作为分隔符 echo -e "dir1\ndir2\ndir3" | xargs...p={} 6.自定义处理空格和特殊字符 # 如果文件名中包含空格或特殊字符,可以使用 -print0 和 -0 选项,让参数以NULL分隔 find ..../sssd/sssd_nss.log # 或者使用 --null 选项,将换行符或空格作为文件名分隔符 find ....xargs格式化之后输出 10.将 xargs 与其他命令结合使用进行更复杂操作: # 例1.查找所有 .log 文件中包含 "Error" 行,并对结果进行排序和去重,最后统计每个唯一行出现次数

    14710

    Linux好用管道命令

    选取命令 grep 用法 grep [-acinv] [--clolor=auto] '查找字符' 查找文件名 参数 -a 或 --text : 将二进制文件以文本文件方式查找数据。...此时,可以使用如下命令: grep test *file结果如下所示: $ grep test test* #查找前缀有“test”文件包含“test”字符串文件 testfile1:This...查找文件名中包含 test 文件中不包含test 行,此时,使用命令为: grep -v test *test* 结果如下所示: $ grep-v test* #查找文件名中包含test 文件中不包含...-d delim 分隔符,默认xargs分隔符是回车,argument分隔符是空格,这里修改xargs分隔符。 -x exit意思,主要是配合-s使用。。...8)数据查找与替换 除了整行处理模式之外, sed 还可以用行为单位进行部分数据查找与替换<。

    9.3K20

    linux(七)之linux系统中查找文件

    f - 普通文件     -size n:[c] 查找文件长度为n块文件,带有c时表示文件长度以字节计。...当使用诸如mv或rm命令时,可以使用-exec选项安全模式。它将在对每个匹配到文件进行操作之前提示你。         ...6)举例说明:xargs命令是如何同find命令一起使用       6.1)下面的例子查找系统中每一个普通文件,然后使用xargs命令来测试它们属于哪类文件                # find...1)不管当前路径是什么,如果想要在自己根目录$HOME中查找文件名符合*.txt文件,使用~作为 'pathname'参数,波浪号~代表了你$HOME目录。          ...-name "*.txt" -print       3)想要的当前目录及子目录中查找文件名以一个大写字母开头文件,可以用       $ find .

    5.6K100

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

    xargs命令使用-a选项,后跟文件名,从文件读取内容,使用-L 1选项,该选项表示xargs一次读取一行。...y 6.如何xargs后面运行多项命令 要使用xargs运行多个命令,使用-i或者-I选项。在-i或者-I后面自定义一个传递参数符号,如%,所有匹配项都会替换为传递给xargs参数。...-type f -name "*.log" -print0 | xargs -0 tar -czvf log.tar.gz 注意: 由于xargs默认将空格作为分隔符,所以不太适合处理文件名,因为文件名可能包含空格...所以要避免包含换行符或其他特殊字符文件名出现问题,请始终使用find-print0选项,这样可以使find打印完整文件名,配合xargs命令使用-0或者--null选项可以正确执行。...-name "*.log" | xargs grep "joshua317" 从根目录开始查找所有扩展名为.log文本文件,并找出包含"ERROR"行 find / -type f -name "*

    2.1K20

    Linux Shell 文本处理工具集锦-Grep+xargs

    -c "text" filename -n 打印匹配行号 -i 搜索时忽略大小写 -l 只打印文件名 1 在多级目录中对文本递归搜索 grep "class"....-R -n 2 匹配多个模式 grep -e "class"-e "vitural" file 3 grep输出以作为结尾符文件名:(-z) grep "test" file* -lZ| xargs...-0 rm 2 xargs 命令行参数转换 xargs 能够将输入数据转化为特定命令命令行参数;这样,可以配合很多命令来组合使用。...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs 是多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3 -n:...指定每行显示字段数 xargs参数说明 -d 定义定界符 (默认为空格 多行定界符为 ) -n 指定输出为多行 -I {} 指定替换字符串,这个字符串在xargs扩展时会被替换掉,用于待执行命令需要多个参数时

    42120

    Linux操作10个好习惯

    在 find 之外使用 xargs。  了解何时 grep 应该执行计数——何时应该绕过。  匹配输出中某些字段,而不只是对行进行匹配。  停止对 cat 使用管道。 ...该工具将那些成员放置在单个空格分隔行上: 清单 14. xargs 工具产生输出示例~ $ xargs a b c Control-D a b c ~ $ 您可以发送通过 xargs 来输出文件名任何工具输出...,以便为其他某些接受文件名作为参数工具获得参数列表,如以下示例所示: 清单 15. xargs 工具使用示例~/tmp $ ls -1 | xargs December_Report.pdf README...匹配输出中某些字段,而不只是对行进行匹配 当您只希望匹配输出行中特定字段 中模式时,诸如 awk 等工具要优于 grep。 下面经过简化示例演示了如何仅列出 12 月修改过文件。...这绝对是不必要,纯粹是浪费时间,因为诸如 grep 这样工具接受文件名作为参数。您根本不需要在这种情况下使用 cat,如以下示例所示: 清单 21.

    1K30

    Linux文件查找命令find,xargs详述

    使用诸如mv或rm命令时,可以使用-exec选项安全模式。它将在对每个匹配到文件进行操作之前提示你。...来看看xargs命令是如何同find命令一起使用,并给出一些例子。 下面的例子查找系统中每一个普通文件,然后使用xargs命令来测试它们分别属于哪类文件 #find ....不管当前路径是什么,如果想要在自己根目录HOME中查找文件名符合*.txt文件,使用~作为 ‘pathname’参数,波浪号~代表了你HOME目录。...-name "*.txt" -print 想要的当前目录及子目录中查找文件名以一个大写字母开头文件,可以用: $ find ....$ find / -name "*" -print 如果想在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt文件,下面的命令就能够返回名为ax37.txt文件: $find .

    7.6K20
    领券