news 2026/4/18 3:30:42

Linux-sh -c \dirname

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux-sh -c \dirname

1. 核心深度解析:sh -c(子 Shell 运行)

sh -c的作用是启动一个临时的子 Shell来执行引号内的复杂命令字符串。

  • 为什么要用它?

  • 支持复合指令xargs默认只能接一个命令。如果你想用&&;或者|(管道)组合多条命令,必须包裹在sh -c里。

  • 重定向支持:如果你想把xargs处理的结果重定向到文件(例如> output.log),不加sh -c的话,重定向会对整个xargs生效,而不是对每一条分支命令生效。

  • 语法结构
    xargs -I {} sh -c '指令1 && 指令2 --parameter {}'


2. 路径处理利器:dirnamebasename

当你处理类似CP_6h_2/MD5.txt的路径时,这两个工具必不可少。

  • dirname:提取路径中的目录部分

  • 输入:CP_6h_2/MD5.txt输出:CP_6h_2

  • basename:提取路径中的文件名部分

  • 输入:CP_6h_2/MD5.txt输出:MD5.txt

  • 组合应用(命令替换)
    $(dirname {})的写法是“命令替换”,它先计算括号里的路径,再把结果交给cd


3.xargs常用参数快查表

参数说明实战场景
-I {}定义占位符{}将文件名插入到命令中间:mv {} {}.bak
-n 1每次处理 1 条记录保证每一行输出都触发一次独立的命令执行
-P N并行执行(N 为进程数)提速神器:同时解压 8 个文件 `ls *.gz
-t执行前打印完整命令调试利器:运行前先看看xargs到底拼接了什么
-d '\n'指定换行符作为分隔符处理带空格的文件名时非常安全

4. 三大实战场景模板

A. 跨目录校验/执行 (你刚刚使用的)

场景:文件在子目录里,但命令必须在子目录内运行。

ls*/MD5.txt|xargs-n1-I{}sh-c'cd $(dirname {}) && md5sum -c MD5.txt'
B. 批量修改后缀名

场景:将当前目录下所有.fq.gz改为标准的.fastq.gz

ls*.fq.gz|xargs-I{}sh-c'mv {} $(basename {} .fq.gz).fastq.gz'

(这里basename {} .fq.gz的意思是取文件名并去掉后缀名)

C. 搜索并快速移动

场景:找到所有样本目录下的out.filtered.rds并拷贝到统一的汇总目录。

find.-name"out.filtered.rds"|xargs-I{}cp{}/public/work/summary/$(dirname{}|xargsbasename).rds

💡 小贴士:如何“无损”调试?

在使用xargs执行危险操作(如rmmv)之前,建议在命令前加上echo

# 先看一眼打印出的结果对不对,再删掉 echo 真正执行ls*.fq.gz|xargs-I{}echomv{}renamed/{}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 16:31:15

“英”领物联:英飞凌详解构成物联网的五大元素

lin收发器 想必大家对于半导体的概念都不陌生了,那么对于拥有完备功能的物联网设备而言,都需要搭载哪些不可或缺的半导体器件,您是否也了如指掌呢?英飞凌提出了五大硬件元素的概念,分别指的是感知、计算、执行、连接和…

作者头像 李华
网站建设 2026/4/16 19:01:50

学生数据统计不再头疼,学工一体化平台助力辅导员高效减负

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

作者头像 李华
网站建设 2026/4/10 18:14:21

<span class=“js_title_inner“>全栈“进化”公开课邀您参加|文心Moment大会走进大模型高效微调与极致推理全栈工程实践</span>

大模型效果越来越强,为什么真正上线却越来越难?从训练到推理、从算力到部署,工程能力正在成为决定成败的关键。从“模型可用”到“工程好用”,大模型正在经历一场真正的全栈进化。 1月22日下午13:00,全栈“…

作者头像 李华
网站建设 2026/4/12 10:35:54

Python入门篇【异常】

Python【异常】 文章目录Python【异常】一、Bug定义二、捕获异常2.1.基本捕获异常2.2.指定捕获异常提示:以下是本篇文章正文内容,下面案例可供参考 一、Bug定义 早期计算机采用大量继电器工作,马克二型计算机就是这样的。1945年9月9日&#…

作者头像 李华
网站建设 2026/4/16 15:19:22

Thread.sleep()与Object.wait()的区别解析

文章目录Thread.sleep() 与 Object.wait() 的区别解析一、引言:线程的基本操作二、Thread.sleep() 的详解1. 基本概念2. 示例代码3. 核心特点三、Object.wait() 的详解1. 基本概念2. 示例代码3. 核心特点四、Thread.sleep() 和 Object.wait() 的区别1. 调用方式2. 锁…

作者头像 李华
网站建设 2026/4/16 1:05:12

2025年热门的AI Agent方向及国内外代表产品

2025年作为Agent发展元年,Manus敲响了AI 应用大发展的号角,各种Agent应用层出不穷。这些智能体基本框架是怎样的,哪些更有前景? 最近在海外看到一张「2025 年 AI Agent 技术趋势全景图」,觉得非常精彩,分享…

作者头像 李华