本文主要是介绍将标准输入stdin转换成命令行参数——Unix中的xargs指令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
xargs是Unix中的复合指令加工机,联合管道符“|”将制造更加强大的“复杂”指令组合。
(笔记模板由python脚本于2024年08月22日 18:13:51创建,本篇笔记适合喜欢Linux的coder翻阅)
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室
本文质量分:
本文地址: https://blog.csdn.net/m0_57158496/
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆ Unix中的xargs指令
- 1、xargs
- 1.1 基本功能
- 1.2 使用场景
- 1.3 常见用法
- 1.4 选项
- 1.5 注意事项
- 2、管道符“|”
- 2.1 基本概念
- 2.2 工作原理
- 2.3 基本用法
- 3、能与“|”与xrags配伍的指令
- 3.1 grep
- 3.2 awk
- 3.3 sed
- 3.4 find
- 3.5 sort
- 3.6 uniq
- 3.7 cut
- 3.8 tr
- 3.9 wc
- 3.10 tee
- 3.11 curl/wget
- 3.12 tar
- 3.13 chmod/chown/chgrp
- 3.14 ps/top
- 3.15 iptables/firewall-cmd
◆ Unix中的xargs指令
1、xargs
xargs
是一个在 Unix 和类 Unix 系统中非常有用的命令行工具。它的主要功能是将标准输入(stdin)转换成命令行参数,从而可以用来构建和执行“复合”命令行指令。
1.1 基本功能
xargs
可以从标准输入读取数据,并将其转换为命令行参数。- 它通常与管道命令一起使用,用于传递参数给那些不接受标准输入作为参数的命令。
- 默认情况下,
xargs
的命令是echo
,这意味着它会将输入的数据转换为以空格分隔的参数。
1.2 使用场景
- 当你需要将一个命令的输出作为另一个命令的参数时,
xargs
非常有用。 - 例如,
find
命令通常与xargs
结合使用来处理搜索到的文件。
1.3 常见用法
- 基本格式是
somecommand | xargs -options command
。 - 例如,
echo "one two three" | xargs mkdir
相当于执行mkdir one two three
。
1.4 选项
-a file
:从文件中读取输入。-n num
:指定每次命令执行时使用的参数个数。-t
:在执行命令前打印命令。-I
:将xargs
的每项输入赋值给指定的替换字符串。-P
:指定最大的并发进程数。
1.5 注意事项
xargs
在处理包含空格或换行的文件名时可能会遇到问题,这种情况下可以使用-0
选项来避免问题。
xargs
是一个功能强大且灵活的工具,常用于脚本和命令行自动化任务中。更多详细信息和示例,可以参考菜鸟教程 、阮一峰的网络日志和 Linux 手册页 。
以下是三个宝藏资源的链接地址
:
1. 菜鸟教程:这是一个非常流行的编程学习网站,提供了各种编程语言和技术的基础教程。您可以访问菜鸟教程的官方网站 菜鸟教程:https://www.runoob.com/。
2. 阮一峰的网络日志:阮一峰的网络日志是一个深受欢迎的技术博客,主要分享编程、前端、互联网、人工智能等领域的知识和见解。您可以访问阮一峰的网络日志的官方网站 阮一峰的网络日志:https://www.ruanyifeng.com/。
3. Linux 手册页:Linux 手册页是 Unix 和 Linux 操作系统的在线软件文档,包含了大量关于 Unix/Linux 命令的详细信息。要访问 Linux 手册页,通常需要在 Linux 系统中使用man
命令。例如,要查看ls
命令的手册页,可以在命令行中输入man ls
。此外,还有一个简化的、社区驱动的手册页集合,名为 TLDR 页面,它提供了命令的简明示例和说明,可以通过 TLDR 页面(https://cn.linux-console.net/tldr_pages.html) 进行访问。
2、管道符“|”
在 Linux 和类 Unix 操作系统中,管道符 |
是一个非常核心和重要的概念,它是命令行界面的基本组成部分之一。
2.1 基本概念
管道符 |
用于在命令行中将一个命令的输出(标准输出,stdout)重定向为另一个命令的输入(标准输入,stdin)。这样就可以构建一个命令链,每个命令的输出都成为下一个命令的输入。
2.2 工作原理
当你在命令行中使用管道时,系统实际上创建了一个无名管道,第一个命令的输出被写入这个管道,而第二个命令从这个管道读取输入。这个过程是自动的,不需要用户干预。
2.3 基本用法
管道符的基本用法非常简单,格式如下:
command1 | command2
这里,command1
的输出将作为 command2
的输入。
以下是一些使用管道符的示例
:
- 查看文件内容并排序:
这个命令将cat filename.txt | sort
filename.txt
的内容输出并通过管道传递给sort
命令,然后sort
命令对这些内容进行排序。
- 列出当前目录下的文件和文件夹,并搜索包含特定文本的文件:
ls -l | grep "特定文本"
ls -l
列出当前目录下的文件和文件夹的详细信息,然后grep "特定文本"
通过管道过滤出包含“特定文本”的行。
- 结合
xargs
使用:
这个命令首先使用find . -name "*.txt" | xargs cat
find
查找当前目录及其子目录下所有.txt
文件,然后通过管道将找到的文件列表传递给xargs
,最后xargs
将这些文件名作为参数传递给cat
命令,从而输出这些文件的内容。
注意事项
- 管道只能处理标准输出,不能直接处理标准错误输出(stderr)。如果需要同时处理 stderr,可以使用
2>&1
将 stderr 重定向到 stdout。 - 管道符
|
两侧的命令是并行执行的,但是数据流是顺序的,即第二个命令会在第一个命令开始输出后立即开始处理输入。
管道符|
,是命令行操作中实现数据处理和转换的强大工具,它使得多个命令可以协同工作,完成复杂的数据处理任务。
3、能与“|”与xrags配伍的指令
Linux 提供了许多功能强大的命令行工具,它们可以与管道符 |
和 xargs
结合使用,或者独立使用来执行复杂的任务。
以下是一些这样的命令行指令
:
3.1 grep
- 用于搜索文本文件中的特定模式。
- 示例:
grep "pattern" file.txt
3.2 awk
- 用于模式扫描和处理文本数据。
- 示例:
echo "1 2 3" | awk '{print $1}'
(打印第一列)
3.3 sed
- 用于流编辑器,执行基本的文本替换操作。
- 示例:
sed 's/old/new/g' file.txt
(将文件中的 “old” 替换为 “new”)
3.4 find
- 用于在目录树中搜索文件。
- 示例:
find . -name "*.txt"
(查找当前目录下所有.txt
文件)
3.5 sort
- 用于对文本文件中的行进行排序。
- 示例:
sort file.txt
3.6 uniq
- 用于报告或忽略文件中的重复行。
- 示例:
sort file.txt | uniq
(排序并去除重复行)
3.7 cut
- 用于从每行中提取文本列。
- 示例:
cut -d' ' -f1 file.txt
(以空格为分隔符,提取第一列)
3.8 tr
- 用于转换或删除文本中的字符。
- 示例:
echo "Hello World" | tr '[:upper:]' '[:lower:]'
(将大写转换为小写)
3.9 wc
- 用于打印文件中的行数、单词数、字节数。
- 示例:
wc -l file.txt
(打印文件的行数)<'sub>
3.10 tee
- 用于读取标准输入的数据,并将其同时输出到标准输出和文件中。
- 示例:
ls | tee output.txt
(列出目录内容并保存到文件)
3.11 curl/wget
- 用于从网络上下载文件。
- 示例:
curl -O URL
或wget URL
3.12 tar
- 用于打包和压缩文件。
- 示例:
tar -czvf archive.tar.gz /path/to/directory
3.13 chmod/chown/chgrp
- 用于更改文件权限和所有权。
- 示例:
chmod 755 file.txt
(设置文件权限)
3.14 ps/top
- 用于查看系统进程。
- 示例:
ps aux
或top
3.15 iptables/firewall-cmd
- 用于配置网络防火墙规则。
这些命令可以单独使用,也可以通过管道、重定向和条件逻辑(如 if
、while
、case
等)组合使用,以执行复杂的数据处理和系统管理任务。Linux 的强大之处在于这些基本工具的组合使用,可以实现几乎任何你想执行的任务。
关于管道符“|” + xargs组建Linux命令行“复合”指令操作文件复制的示例,请点击蓝色文字跳转CSDN优质博主刘好念的博文Linux命令行指令复制文件操作,阅读赏鉴。
上一篇: 字符串玩转Excel单元格引用(indirect是Excel唯一可以拥有直接解析字符串引用地址参数能力的函数,是绝无仅有的宝贝疙瘩)
下一篇:
我的HOT博:
本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。
-
001
标题:让QQ群昵称色变的神奇代码
(浏览阅读 5.9w )
地址:https://blog.csdn.net/m0_57158496/article/details/122566500
点赞:25 收藏:86 评论:17
摘要:让QQ昵称色变的神奇代码。
首发:2022-01-18 19:15:08
最后编辑:2022-01-20 07:56:47 -
002
标题:Python列表(list)反序(降序)的7种实现方式
(浏览阅读 1.1w )
地址:https://blog.csdn.net/m0_57158496/article/details/128271700
点赞:8 收藏:35 评论:8
摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
首发:2022-12-11 23:54:15
最后编辑:2023-03-20 18:13:55 -
003
标题:pandas 数据类型之 DataFrame
(浏览阅读 9.7k )
地址:https://blog.csdn.net/m0_57158496/article/details/124525814
点赞:7 收藏:36
摘要:pandas 数据类型之 DataFrame_panda dataframe。
首发:2022-05-01 13:20:17
最后编辑:2022-05-08 08:46:13 -
004
标题:个人信息提取(字符串)
(浏览阅读 8.2k )
地址:https://blog.csdn.net/m0_57158496/article/details/124244618
点赞:2 收藏:15
摘要:个人信息提取(字符串)_个人信息提取python。
首发:2022-04-18 11:07:12
最后编辑:2022-04-20 13:17:54 -
005
标题:Python字符串居中显示
(浏览阅读 7.6k )
地址:https://blog.csdn.net/m0_57158496/article/details/122163023
评论:1 -
006
标题:罗马数字转换器|罗马数字生成器
(浏览阅读 7.5k )
地址:https://blog.csdn.net/m0_57158496/article/details/122592047
摘要:罗马数字转换器|生成器。
首发:2022-01-19 23:26:42
最后编辑:2022-01-21 18:37:46 -
007
标题:回车符、换行符和回车换行符
(浏览阅读 6.0k )
地址:https://blog.csdn.net/m0_57158496/article/details/123109488
点赞:2 收藏:3
摘要:回车符、换行符和回车换行符_命令行回车符。
首发:2022-02-24 13:10:02
最后编辑:2022-02-25 20:07:40
截屏图片
(此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)
精品文章:
- 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
- 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代码编写规范
- Python的docstring规范(说明文档的规范写法)
这篇关于将标准输入stdin转换成命令行参数——Unix中的xargs指令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!