linux 101 hacks 3null 改文件大小写 xargs

禁止标准输出和错误信息的输出

当我们调试 shell 脚本的时候,我们往往不希望看到标准输出和标准错误的信息。我们可以使
用/dev/nulll 来禁止标准错误的信息。

将标准输出重定向到/dev/null
当你调试 shell 脚本的时候不想看输出,只想看错误信息的时候,这个命令会非常有用。

# cat file.txt > /dev/null
# ./shell-script.sh > /dev/null

用“2>/dev/null”禁止错误输出
当你只想看标准输出,而不想看错误信息的时候,这个命令会非常的有用。

# cat invalid-file-name.txt 2> /dev/null
# ./shell-script.sh 2> /dev/null

join 命令

join 命令可基于两个文件的共同项,把他们合并起来。
在下例中,我们有两个文件,分别是 employee.txt 和 salary,他们拥有共同的项-
employee-id。所以我们基于 employee-id 项,将两个文件合并起来。

说实话,非要合并的话,我情愿用awk

复制代码
$ cat employee.txt
100 Jason Smith
200 John Doe
300 Sanjay Gupta
400 Ashok Sharma
$ cat bonus.txt
100 $5,000
200 $500
300 $3,000
400 $1,250
$ join employee.txt bonus.txt
100 Jason Smith $5,000
200 John Doe $500
300 Sanjay Gupta $3,000
400 Ashok Sharma $1,250
复制代码

 改变字符的大小写

卧槽,这个神奇啊

将一个文件内容全部转换成大写字母

复制代码
$ cat employee.txt
100 Jason Smith
200 John Doe
300 Sanjay Gupta
400 Ashok Sharma
$ tr a-z A-Z < employee.txt
100 JASON SMITH
200 JOHN DOE
300 SANJAY GUPTA
400 ASHOK SHARMA
复制代码

将一个文件内容全部转换成小写字母

复制代码
$ cat department.txt
100 FINANCE
200 MARKETING
300 PRODUCT DEVELOPMENT
400 SALES
$ tr A-Z a-z < department.txt
100 finance
200 marketing
300 product development
400 sales
复制代码

注意以上改了都只是标准输出,原文件都还没改,后面可加 > 输出到文件

xargs 命令

xargs 是一个非常强大的命令,可以取一个命令的输出作为另一个命令的参数。下面就是几个
关于如何有效使用 xargs 命令的实例

这个xargs我还没怎么看的懂,先mark  , 很像管道,但是功能更花哨了,详细参考下面两篇:

xargs 用法详解

linux 下 xargs 命令用法详解 

当你使用 rm 命令去删除很多的文件时,你可能会得到错误信息: “/bin/rm Argument
list too long – Linux” 。这时可以用 xargs 来避免这个问题

find ~ -name ‗*.log‘ -print0 | xargs -0 rm –f

获得/etc 下所有以.conf 结尾的文件。可以有多种方法获得如下结果。以下命令仅仅为了帮助
大家理解如何使用 xargs.find 命令的输入结果一个接一个的传递给 xargs,作为 ls -l 的参数。

# find /etc -name "*.conf" | xargs ls –l

当你想下载一些 URL,这些 URL 都保存在一个文件里,你可以以如下的方式使用 xargs 命令

# cat url-list.txt | xargs wget –c

找出所有的.jpg 格式的图片,并将其归档。

# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

将所有的 jpg 图片文件复制到外置的硬盘中

ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory

杀掉多个进程:

ps -ef |grep hello |awk '{print $2}'|xargs kill -9
ps -aux|grep "scrapy" |xargs kill -9

 

posted @   dahu1  Views(304)  Comments(0Edit  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示