news 2026/4/16 15:58:44

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/16 14:33:16

【TVM教程】设备/目标交互

TVM 现已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。 Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。 在线运行 TVM 学习教程 链接是:https://hyper.ai/notebooks/48919?utm_sourceDistribu…

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

打卡信奥刷题(2783)用C++实现信奥题 P3914 染色计数

P3914 染色计数 题目描述 有一颗NNN个节点的树,节点用1,2,⋯,N1,2,\cdots,N1,2,⋯,N编号。你要给它染色,使得相邻节点的颜色不同。有MMM种颜色,用1,2,⋯,M1,2,\cdots,M1,2,⋯,M编号。每个节点可以染MMM种颜色中的若干种,求不同染…

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

100条高实用性、可工业化扩展的一句话Shell命令

文章目录 100条高实用性、可工业化扩展的一句话Shell命令 第一章:系统监控与诊断(15条) 1.1 实时监控 1.2 性能分析 1.3 资源统计 第二章:文件与存储管理(15条) 2.1 文件操作 2.2 存储管理 2.3 备份与同步 第三章:网络与安全(20条) 3.1 网络诊断 3.2 安全审计 第四章:…

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

aiohttp中间件实现异步请求日志与重试

在异步 HTTP 请求场景中,aiohttp 是 Python 生态下的主流选择。实际开发中,请求的日志记录(排查问题)和失败重试(提升稳定性)是必备能力,而 aiohttp 的中间件机制能优雅地实现这两个功能&#x…

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

剖析CVE-2009-0556:一个“复活”的PPT内存破坏漏洞

CVE-2009-0556:一个拒绝消亡的2009年PowerPoint漏洞 2009年,某中心恶意软件团队的研究人员记录了一个存在于特定版本Windows PowerPoint(Windows PowerPoint 2000 SP3、2002 SP3、2003 SP3以及Microsoft Office 2004 for Mac中的PowerPoint&…

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

<span class=“js_title_inner“>2025年跨境电商行业年度报告</span>

导读:2025年,跨境电商行业进入“规则重构与价值升级”的双变期。政策层面,国内外税务与监管新规推动行业合规化加速;市场层面,美国增速放缓,欧洲作为“第二选择”崛起;平台层面,Temu…

作者头像 李华