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

将sed与find结合使用时,没有这样的文件或目录?

当将sed与find结合使用时,如果出现"没有这样的文件或目录"的错误,可能有以下几种原因:

  1. 文件或目录不存在:首先,需要确认要操作的文件或目录是否存在。可以使用find命令单独运行,查看是否能找到目标文件或目录。如果找不到,需要检查路径是否正确,或者文件是否已被删除。
  2. 权限问题:如果文件或目录存在,但是当前用户没有足够的权限进行操作,也会出现该错误。可以使用ls -l命令查看文件或目录的权限,确保当前用户具有读取和写入的权限。
  3. 文件名包含特殊字符:如果文件名包含特殊字符(如空格、引号等),在使用find命令时需要进行适当的转义或引用。否则,find命令可能无法正确解析文件名,导致找不到文件或目录。
  4. 文件或目录名过长:在某些操作系统中,文件或目录名的长度是有限制的。如果文件或目录名过长,可能会导致无法找到文件或目录。可以尝试缩短文件或目录名,或者使用通配符来匹配文件名的一部分。

综上所述,当将sed与find结合使用时,出现"没有这样的文件或目录"的错误,需要检查文件或目录是否存在、权限是否足够、文件名是否包含特殊字符以及长度是否过长等因素。根据具体情况进行排查和解决。

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

相关·内容

《Linuxunix Shell编程指南》 总结

例如用.来表示当前目录,用/来表示系统根目录。 -options 为命令选项 -print find命令匹配文件输出到标准输出。...要替换当前目录以及下层目录里所有文件Windows为Linux,你可以这样运行: find ....参数-f使tail不停地去读最新内容,这样有实时监视效果,用Ctrl+c来终止!...-f 如果输入文件是常规文件如果 File 参数指定 FIFO(先进先出),那么 tail 命令不会在复制了输入文件最后指定单元后终止,而是继续从输入文件读取和复 制额外单元(当这些单元可用时...1.22 更高版本 # 每一行前导“空白字符”(空格,制表符)删除 # 使之左对齐 sed 's/^[ \t]*//' # 见本文末尾关于'\t'用法描述 # 每一行拖尾

5.5K30

Linux之文件管理及文本处理

文件管理不外乎文件目录创建、删除、查询、移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询;find参数丰富,也非常强大; 有时候,需要给文件创建一个别名,我们需要用到ln,...中设置命令别名: alias lsl='ls -lrt' alias lm='ls -al|more' 这样,使用lsl,就可以显示目录文件按照修改时间排序;以列表方式显示; 给每项文件前面增加一个...查找目录文件 find/locate 搜寻文件目录: $find ./ -name "core*" | xargs file 查找目标文件夹中是否有obj文件: $find ./ -name...会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库: $locate string 寻找包含有string路径: $updatedb find不同,locate并不是实时查找...文件目录权限修改 改变文件拥有者 chown 改变文件读、写、执行等属性 chmod 递归子目录修改: chown -R tuxapp source/ 增加脚本可执行权限

1.8K20
  • Linux文本处理详细教程

    文本处理 本节介绍Linux下使用Shell处理文本时最常用工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供例子和参数都是常用;...-type d -print //只列出所有目录 -type f 文件 / l 符号链接 / d 目录 find支持文件检索类型可以区分普通文件和符号链接、目录等,但是二进制文件和文本文件无法直接通过...find类型区分出来; file命令可以检查文件具体类型(二进制文本): $file redis-cli # 二进制文件 redis-cli: ELF 64-bit LSB executable,...-type f -name "*.swp" -delete 另一种语法: find . type f -name "*.swp" | xargs rm 执行动作(强大exec) 当前目录所有权变更为...-type f -user root -exec chown weber {} \; 注:{}是一个特殊字符串,对于每一个匹配文件,{}会被替换成相应文件名; 找到文件全都copy到另一个目录

    4.3K20

    Linux系统开发: 命令进阶学习(一)

    例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,忘记目录文件追加到备份文件中。 t 列出档案文件内容,查看已经备份了哪些文件。 u 更新文件。...其中-ok和-exec行为一样,不过-ok会给出提示,是否执行相应操作,而-exec不会提示,直接执行。 {} 用于-exec和-ok选项结合使用来匹配所有文件。...接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个多个文件;简化对文件反复操作;编写转换程序等。...替换指定数据 # sed -i 's/std/inc/g' 123.c 123.c文件中全部std字符替换为inc字符。如果没有g标记,则只有每行第一个匹配std被替换成inc。...替换所有文件 # sed -i 's/8080/8888/g' *.c 当前目录下所有以.c为后缀文件8080替换为88888。这样可以大大提高我们工作效率。

    1.1K10

    SHELL(bash)脚本编程八:技巧

    1、笔试题 先来看某公司两个笔试题: 1、写脚本实现,可以用shell、perl等。在目录/tmp下找到100个以abc开头文件,然后把这些文件第一行保存到文件new中。...分析:寻找名字符合某个模式文件可以用find,但find不能控制寻找到文件数量,也许可以用for循环控制一下,查看文件第一行有许多方法,可以用head、sed等。 根据以上思路写出脚本: #!.../bin/bash find /logs -name 'access_*.log'|xargs tee 此方案巧妙利用了命令xargs和teefind找到文件一次性清空。...,使原本需要许多循环代码解决问题变得“轻而易举”。...-name '*.html' -exec sed -i 's/xxxx/oooo/g' {} \; 类似的命令,显然,这样一个文件接着一个文件串行处理花费巨大时间成本。

    62620

    Linux shell利用sed如何批量更改文件名详解

    要解决这个问题,我们可以 IFS(内部字段分隔符)设置为换行符 \n,这样一来,for 循环就会按行来获取变量值,确保每次获取的确实是一个完整文件名。...该命令只能获取某个目录文件,而且没法进行多种条件筛选。 而一说到文件查找,不得不提到功能强大 find 命令。...该命令可以在多个层次目录中查找文件,并能够设定诸如创建时间、文件大小、所有者等多种条件,查找起文件来特别方便灵活。...用 find 命令来获取文件列表,再用 sed 命令配合正则表达式来修改文件名,这两个命令结合几乎能完成所有常见批量改名任务。...例如,所有大于1M,且后缀为txtjpg文件,由形如 book_20170101.txt、image_20170101.jpg 文件改名为 20170101-book.txt、20170101-

    4.2K20

    生信人自我修养:Linux 命令速查手册(全文引用)

    复制目录加参数-r rsync - 远程文件拷贝 rsync scp 不同,它只是做增量更新且支持断点续传,也就是要复制文件存在于目标文件夹且内容当前要复制相同,则不会复制。...find, locate, which - 文件查找 find -name file # 在当前目录查找名为file文件 find dir/ -name file # 在dir/目录下查找名为...-type f -name '*.log' -print0 | xargs -0 rm -f # 当rm文件过多时,可以这样删除 find ....:空格,制表符 sed 's/AA/BB/' file # 文件AA替换成BB,只替换一行中第一次出现AA,替换后结果输出到屏幕 sed 's/AA/BB/g' file # 文件所有...表达式操作符 Awk 表达式符号 C 语言类似,基本表达式有数字,字符串,变量,字段,数组以及函数调用。变量无需声明,它们在首次使用时被初始化为null。

    3.9K40

    shell脚本专题(02):生产常用shell用例

    本专题结合运维实际介绍shell脚本各项用法,预计10篇左右,包括系统巡检、监控、ftp上传下载、数据库查询、日志清理、时钟同步、定时任务等,里面会涉及shell常用语法、注意事项、调试排错等。...二、本文前言 本文是该专题第二篇。 文章主要介绍最近在日常生产运维中使用到一些shell语句,主要有替换、删除、查找指定行和指定字符、文件传输、列列互换等。...3.scp复制多个目录文件 需求:复制多个本地文件到远端远端多个文件复制到本地 本地复制到远程目录: [root@ansible ~]# touch a.txt b.txt c.txt [root...8.sedfind、grep删除/替换文件指定字符 需求:查找所有文件中包含'loong576'字符串并替换或者删除 修改前: [root@ansible-awx os-check]# find...四、本文总结 本文主要介绍了常用一些shell用例,涉及日常查找、替换、文件传输等,使用到命令主要有findsed、xargs、scp等。

    1.1K21

    【建议收藏系列】爆肝3w字带你理解什么叫运维~

    例如用.来表示当前目录,用/来表示系统根目录,递归查找。 -print: find命令匹配文件输出到标准输出。 -exec: find命令对匹配文件执行该参数所给出shell命令。...这样就能够找到那些属主在/etc/passwd文件没有有效帐户文件。在使用-nouser选项时,不必给出用户名; find命令能够为你完成相应工作。...这样一个原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录文件。...而GNU sed则允许把他们当作单独文件这样如正则表达式则不进行跨文件匹配。 -u, --unbuffered 最低限度缓存输入输出。...sed程序一行一行读出待处理文件,如果某一行pattern匹配,则执行相应action,如果一条命令没有pattern而只有action,这个action将作用于待处理文件每一行。

    2.1K30

    Linux下find、awk、sed、grep命令例子

    find:搜索工具 # 列出当前目录及子目录下所有文件文件find . # 在/home目录下查找以.txt结尾文件名,-i表示忽略大小写 find /home -iname "*.txt"...,g表示每行中找到字符都需要被替换,否则只替换每行第一次出现字符, '1,2s'表示第一行到第二行所有行 # sed不能在原有文本基础上进行替换,所以必须生成新文件new.txt sed "1,2s...old.txt # 删除替换同时进行,加上-e参数,替换old_abc为new_abc,并且删除第二行 sed -i -e "s/old_abc/new_abc/g" -e "2d" old.txt...fgrep:fast grep等于grep -F,不支持正则表达式 egrep:extended grep等于grep -E,支持扩展正则表达式 命令合成 # 在当前目录下查找名称后缀为.log文件...-name "*.log" | xargs grep -i -n "abc" # -l输出匹配文件名,不输出匹配行;-R表示递归目录;-Z表示文件名间使用null进行分隔 # -0表示xargs只格式化一个文件

    1.9K10

    Shell四剑客实操案例

    “*.txt” #查找/data/目录以.txt结尾文件find /data/ -name “[A-Z]*” #查找/data/目录以大写字母开头文件find /data/ -name “test...*” #查找/data/目录以test开头文件Find工具-type参数案列: find /data/ -type d #查找/data/目录文件夹;find /data/ !...-type d #查找/data/目录文件夹;find /data/ -type l #查找/data/目录链接文件。...、字符串、变量,甚至来自于管道文本,VIM编辑器类似,它一次处理一行内容,Sed可以编辑一个多个文件,简化对文件反复操作、编写转换程序等。...#查询不包括x和y行号行;r #从另一个文件中读文件;w #文本写入到一个文件;y #变换字符;q #第一个模式匹配完成后退出;l #显示八进制ASCII码等价控制字符; 常用SED工具企业演练案列

    2.1K21

    Linux如何通过命令查看日志文件某几行(中间几行最后几行)「建议收藏」

    】用sed命令 sed -n ‘5,10p’ filename 这样你就可以只查看文件第5行到第10行。...例如: $ wc – lcw file1 file2 4 33 file1 7 52 file2 11 11 85 total 举例分析: 1.统计demo目录下,js文件数量: find demo/...-name “*.js” |wc -l 2.统计demo目录下所有js文件代码行数: find demo/ -name “*.js” |xargs cat|wc -l wc -l `find ./...地址形式可以是数字、正则表达式、二者结合。如果没有指定地址,sed处理输入文件所有行。 地址是一个数字,则表示行号;是“$”符号,则表示最后一行。...datafile #删除包含”My”行到第十行内容 3.命令选项 sed命令告诉sed如何处理由地址指定各输入行,如果没有指定地址则处理所有的输入行。

    9.7K60
    领券