是否可以从 find 命令输出中删除根目录?

2023-12-12

我想移动一些文件,并认为 find 是选择正确文件的好选择。所以我寻找这些文件:

find somedir -iname "somefile"
somedir/subdir1/subdir2/somefile
somedir/subdir2/somefile
somedir/subdir3/somefile
somedir/subdir4/somefile
somedir/subdir5/somefile

这对我接下来的计划没有太大帮助。我需要的是:

find somedir -iname "somefile" -magic-option
subdir1/subdir2/somefile
subdir2/somefile
subdir3/somefile
subdir4/somefile
subdir5/somefile

什么会-magic-option be?

显然,简单的打印输出不是我想要的。最终命令还将有一个“-exec”。就像是:

find somedir -iname "somefile" -magic-option -exec some_command 'somedir/{}' 'someotherdir/{}' ';'

我很惊讶我找不到任何东西,因为从结果中删除根目录似乎是一个非常明显的功能。

如果问题的答案是'NO'那么就可以了。我有一个粗略的 B 计划,使用pushd and for循环。但find会更优雅。


它是非标准的,但是使用 gnu find (4.6.0.225-235f),你可以这样做:

find somedir -iname somefile -printf %P\\n

从文档中:

%P     File's name with the name of the starting-point under which it was found removed.

如果您想要一个通用的解决方案,那么使用以下内容过滤输出似乎很简单:

find somedir -iname somefile | sed 's@^[^/]*/@@'

如果您的任何文件名包含换行符,这两种解决方案都会严重失败,因此如果您想要一个强大的解决方案,您需要执行以下操作:

find somedir -iname somefile -printf %P\\0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以从 find 命令输出中删除根目录? 的相关文章

  • Node.js 请求随机开始挂起,直到服务器重新启动后才会清除

    我在我们的网络应用程序上遇到了一个非常奇怪且看似随机的问题 我似乎无法成功调试 它可以正常运行 10 分钟到 6 小时 然后突然无法向服务器发出或从服务器发出远程请求 它们只是挂起 这包括常规的 http 和 Web 套接字请求 奇怪的是
  • grep 查找 Unix 中的特殊字符

    我有一个日志文件 application log 其中可能包含以下多行普通和特殊字符字符串 Q 我想搜索包含这个特殊字符串的行号 grep Q application log 上述命令不返回任何结果 获取行号的正确语法是什么 Tell gr
  • 使用搜索词打开 Windows 资源管理器查找窗格

    我正在尝试创建一个应用程序 该应用程序打开 Windows 资源管理器搜索功能并搜索输入了指定术语的文件 文件夹 我已经有了 Windows Vista SP1 使用 Windows 索引服务引入的 search query 命令的代码 这
  • 是否可以在unix cut 命令中使用字符串作为分隔符?

    如果我想使用字符串作为分隔符来剪切文本列表 这可能吗 例如 我有一个目录 其中一系列 shell 脚本调用相同的 perl 脚本 abc pl 所以当我这样做时 grep abc pl 在该目录中 它给了我以下结果 xyz sh abc p
  • 在 Bash 中拆分 csv 文件中的列

    我想从 csv 文件的第二列中提取值并将提取的值存储在新列中 我的数据集示例 page name post id page id A 86680728811 272953252761568 86680728811 A 86680728811
  • import java 导入错误:没有名为 java 的模块

    我似乎遇到了障碍 根本无法解决这个问题 任何人都可以帮我弄清楚为什么我无法导入 java 模块吗 Error Traceback most recent call last File datasource config py line 3
  • 使用 Bash 按进程名称检查 Mac 进程是否正在运行

    如何使用 Bash 脚本中的进程名称检查 Mac OS X 上的进程是否正在运行 我正在尝试编写一个 Bash 脚本 如果进程已停止 它将重新启动进程 但如果进程仍在运行 则不执行任何操作 解析这个 ps aux grep v grep g
  • 如何将文本数据从 ruby​​ 控制台传递到剪贴板而不保存到文件?

    我试图将我创建的全局变量中包含的数组传递到我的 mac 上的剪贴板中 它很长 所以我不想在控制台上突出显示 复制和粘贴 我想使用嵌入式unix代码 特别是pbcopyMac 笔记本电脑控制台的功能 允许我将文本传递到我的计算机剪贴板中 准备
  • 如何从C程序执行C程序的shell中更改环境变量?

    我想改变的值PATHC 程序中的变量 然后在运行该程序的 shell 中查看更改后的值 做这样的事情 include
  • 为什么 ls -l 中的“总计”加起来不等于列出的总文件大小? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 为什么是total在输出中ls l打印为64并不是26078列出的所有文件的总数是多少 ls l test ls total 64 rw
  • VMA和ELF段之间的关系

    我需要确定 ELF 可执行文件的可加载段的 VMA VMA 可以从以下位置打印 proc pid maps VMA 之间的关系如下所示maps可加载段对我来说也很清楚 每个段由一个或多个 VMA 组成 内核使用什么方法从 ELF 段形成 V
  • Amazon EC2 的替代工具?

    Amazon 与 EC2 交互的官方工具有点笨重且难以处理 我必须设置一堆环境变量 为 EC2 存储单独的私钥 向我的 PATH 添加额外的项目 等等 它们都输出制表符分隔的行 长度为数百个字符 没有标题 因此解释它们有点困难 他们关于设置
  • 为什么我的信号处理程序只执行一次?

    我正在 UNIX 和 C 中处理信号 并遇到了这个问题 我正在尝试编写一个计数到 10 的程序 每秒一个数字 当用户尝试使用 SIGINT 如 CTRL C 中断它时 它会打印一条消息 告诉它无论如何都会继续计数 到目前为止 我得到了这个
  • 如何在 Linux/Unix 上根据文件类型添加文件扩展名?

    这是一个关于 Unix shell 脚本 任何 shell 的问题 但任何其他 标准 脚本语言解决方案也将受到赞赏 我有一个充满文件的目录 其中文件名是这样的哈希值 fd73d0cf8ee68073dce270cf7e770b97 fec8
  • shell 脚本中的 Telnet

    如何在 shell 脚本中运行 telnet 并在远程服务器上执行命令 出于安全原因 我没有在我的Solaris 机器上安装expect 我也没有perlnet telnet模块已安装 那么如果不使用expect和perl我该怎么办呢 我尝
  • 如何同时正确使用管道和信号?

    我有 2 个孩子 我想将信号从孩子发送到父母 并将答案 随机数 为什么 为什么不 命名管道从父母发送到每个孩子 我有这个代码 include
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • 安装python启动文件

    我如何安装pythonstartup文件 以便它在命令上运行 例如python myfile py 我尝试将其安装到我的 home myuserUbuntu的目录 但它说我没有足够的权限 此外 不同的地方交替说它应该全部大写或全部小写 前面
  • 在 bash 脚本中检测鼠标点击

    我想知道如何在后台运行 bash 脚本 每当用户单击鼠标时该脚本都会执行某些操作 即运行脚本或命令或其他任何内容 即使终端关闭 我也希望它继续运行 有任何想法吗 谢谢 如果您使用的是X11 您可以尝试xdotool捕获鼠标事件 它会是这样的
  • 使用 FIND 命令进行并集、交集和排除?

    我需要使用 find 命令管理列表 假设列表在非不同列表中具有随机名称 即它们的交集不是空集 我能怎么做 A B 查找列表A中除列表B中的文件之外的文件 A 路口 B 查找列表 A 和 B 共有的文件 请咨询here https stack

随机推荐

  • 用于人类友好的相对日期格式的Javascript库[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想以人类友好的格式显示一些相对于当前日期的日期 人类友好的相对日期的示例 10 秒前 20 分钟后 1天前 5 周前 2个月前 基本上忠实地保留了
  • 如何以编程方式构建带有表单和用户控件的 System.Web.UI.Page?

    我有这个代码 public static string RenderView string path Page pageHolder new Page UserControl viewControl UserControl pageHold
  • 不使用任何浏览器使用 Selenium

    我一直在尝试使用 Selenium 进行网络自动化 有没有什么方法可以在不实际安装 Chrome 或 Firefox 等浏览器的情况下使用它们 例如使用一些替代选项 或者拥有它们的便携式版本 如果我可以使用便携式版本 我如何告诉 Selen
  • Python2.7 MySQL 连接器在 LOAD DATA LOCAL INFILE 时出错

    我正在尝试使用 Python 和 MySQL Connector 将人口普查数据动态加载到 mysql 数据库 来自 csv 文件 我不明白为什么我会收到错误 Traceback most recent call last File min
  • 如何使用 d3.js 获取父节点的索引

    使用 d3 js 如果我在 比如说 父节点的某个值 x 之后 我会使用 d3 select this parentNode datum x 不过 我想要的是数据 即数据的 索引 建议 Thanks 元素的索引仅在集合中明确定义 当您仅选择单
  • 如何在Apportable中使用CoreData?

    我尝试了完整版本的可移植性 但 CoreData 有问题 我在configuration json中有正确的功能 FEATURES opengles2 landscape prefer external storage write exte
  • 在 React Native 中获取 onPress 按钮的名称

    我有两个按钮 它们都调用相同的 onPress 函数 在回调中 我希望能够区分按下的按钮
  • WCF 服务返回 400 错误请求

    我有这个应用程序可以在本地运行 并且在部署时使用 mdf SQL Express 数据库文件 我通常将其用于测试目的 但是 当我将其更改为与 SQL Server 2008 一起使用时 应用程序可以工作 但服务却不能 例如 如果在页面后面的
  • 警告:imagejpeg() [function:imagejpeg]: gd-jpeg: JPEG 库报告不可恢复的错误

    我的根文件夹中安装了 WordPress 直到昨天它工作正常 但今天它给出了以下错误 我猜生成缩略图图像 Warning imagejpeg function imagejpeg gd jpeg JPEG library reports u
  • 使用 xlsxwriter 将表格从 Word (.docx) 写入 Excel (.xlsx)

    我正在尝试解析表格的单词 docx 然后使用 xlsxwriter 将这些表格复制到 Excel 这是我的代码 from docx api import Document import xlsxwriter document Documen
  • 将大文本插入 blob

    很长一段时间以来 我一直在尝试寻找这个问题的解决方案 但在互联网上却找不到答案 我遇到这种情况 我需要使用 php 从 firebird 数据库插入或更新 blob 字段 子类型 1 问题是 当文本变得非常大 gt 36k 时 它不会执行查
  • Spring 状态机 - 将静态数据附加到状态

    使用 Spring 状态机 我们有状态和事件 我找不到任何关于是否可以在配置期间将静态数据附加到状态的文档 例如 如果有状态 S1 和 S2 public void configure StateMachineStateConfigurer
  • 在 Java 中打印原语数组

    我有两个数组 char chars 1 2 3 int numbers 1 2 3 为什么打电话后System out print chars 我越来越123之后System out print numbers 我有类似的东西 C 9304
  • Heroku 工具带在上次更新后无法运行

    我使用的是 Ubuntu 10 10 Heroku 在上次更新 上次运行 heroku update 后完全停止工作 现在每个命令都会产生 usr local heroku lib heroku updater rb 54 ininject
  • Python 错误“ImportError:没有命名的模块”

    Python 安装在本地目录中 我的目录树如下所示 local directory site packages toolkit interface py 我的代码在这里 local directory site packages toolk
  • C++中的隐藏规则是什么?

    我对名称隐藏和信息隐藏一词感到非常困惑 最重要的是 c 中的隐藏规则是什么 有人可以给我一个定义吗 姓名隐藏当你覆盖一个类时会发生 struct A int x int y void foo void bar struct B A int
  • 如何在 .gitconfig 中使用 ANSI 256 色

    我正在尝试为 git status 设置自定义颜色 如上所述here 虽然使用预定义的颜色名称有效 color status changed yellow normal 使用 ANSI 256 颜色代码不起作用 color status c
  • JPA 中的每个表是否应该有一个存储库?

    JPA 中的每个表是否应该有一个存储库 如果没有 如何解析存储库数据库中的泛型 例如 下面是一个StoreRepository 它处理CRUD上的操作Store目的 如果我想让存储库保存一个StoreEvent对象也是如此 我将如何更改下面
  • Python 中多元正态分布的集成

    我正在尝试在 python 中集成多元分布 为了测试它 我使用二元正态分布构建了这个玩具示例 我用nquad 以便稍后将其扩展到两个以上的变量 这是代码 import numpy as np from scipy import integr
  • 是否可以从 find 命令输出中删除根目录?

    我想移动一些文件 并认为 find 是选择正确文件的好选择 所以我寻找这些文件 find somedir iname somefile somedir subdir1 subdir2 somefile somedir subdir2 som