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 > /dev/null
# ./shell-script.sh > /dev/null
join 命令
join 命令可基于两个文件的共同项,把他们合并起来。
在下例中,我们有两个文件,分别是 employee.txt 和 salary,他们拥有共同的项-
employee-id。所以我们基于 employee-id 项,将两个文件合并起来。
说实话,非要合并的话,我情愿用awk
$ cat employee.txt
Jason Smith
John Doe
Sanjay Gupta
Ashok Sharma
$ cat bonus.txt
$,
$
$,
$,
$ join employee.txt bonus.txt
Jason Smith $,
John Doe $
Sanjay Gupta $,
Ashok Sharma $,
改变字符的大小写
卧槽,这个神奇啊
将一个文件内容全部转换成大写字母
$ cat employee.txt
Jason Smith
John Doe
Sanjay Gupta
Ashok Sharma
$ tr a-z A-Z < employee.txt
JASON SMITH
JOHN DOE
SANJAY GUPTA
ASHOK SHARMA
将一个文件内容全部转换成小写字母
$ cat department.txt
FINANCE
MARKETING
PRODUCT DEVELOPMENT
SALES
$ tr A-Z a-z < department.txt
finance
marketing
product development
sales
注意以上改了都只是标准输出,原文件都还没改,后面可加 > 输出到文件
xargs 命令
xargs 是一个非常强大的命令,可以取一个命令的输出作为另一个命令的参数。下面就是几个
关于如何有效使用 xargs 命令的实例
这个xargs我还没怎么看的懂,先mark , 很像管道,但是功能更花哨了,详细参考下面两篇:
当你使用 rm 命令去删除很多的文件时,你可能会得到错误信息: “/bin/rm Argument
list too long – Linux” 。这时可以用 xargs 来避免这个问题
find ~ -name ‗*.log‘ -print0 | xargs - 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 -
ps -aux|grep "scrapy" |xargs kill -
linux 101 hacks 3null 改文件大小写 xargs的更多相关文章
- linux 101 hacks 第一章cd命令
本系列来源于<linux 101 hacks>,作者还写了其他101 hacks教程,读了几章,觉得技巧都还不错,很实用,做个总结收藏. cdpath 设置基目录 [ramesh@dev- ...
- linux 101 hacks 6history 及相关关键字
如果你经常使用命令行,那么有效的使用命令历史机制将会使效率获得极大提升.事实上,一旦你掌握了我在下面给出的 15 个例子, 你就会发现使用命令行将更有乐趣 是吗?我学一学呢 技巧 50:使用 HIST ...
- linux 101 hacks 2date,grep,find
感觉挨个按着作者来的太蠢了,我还是放自己觉得不错的东西把 用特定格式显示当前时间 以下的方法可以用各种不同的格式来显示当前时间: $ date Thu Jan :: PST $ date --date ...
- linux 101 hacks 7crontab
技巧 74: crontab 书上的这一段我删了,重写一下,用的是ubuntu 16.04系统 参考 每天一个 linux 命令(50):crontab 命令 crond 服务 安装 crontab: ...
- linux 101 hacks 5PS1
PS1——默认提示符 看完这一章,我心里若干个卧槽.. 如下所示, 可以通过修改 Linux 下的默认提示符,使其更加实用.在下面的例子中,默认的 PS1的值是“ \s-\v\$”,显示出了 shel ...
- linux 101 hacks 4stat diff ac
stat 命令 stat 命令那个可以用来查看文件或者文件系统的状态和属性.显示一个文件或目录的属性 $ stat /etc/my.cnf File: `/etc/my.cnf' Size: Bloc ...
- Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具
查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里 ...
- Linux权限之/etc/passwd文件
在Linux /etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性.系统管理员经常会接触到这个文件的修改以完成对用户的管理工作.这个文件对所有用户都是可读的.但是L ...
- 将现有MySQL数据库改为大小写不敏感
用过MySQL的应该都会注意到,默认情况下,Linux下安装的MySQL是大小写敏感的,也就是说Table1和table1可以同时存在.而Windows下的MySQL却是大小写不敏感的,所有表名和数据 ...
随机推荐
- IOS方形头像如何变成圆形
方法一:直接使用UIView对应图层的cornerRadius self.layer.cornerRadius = CGRectGetWidth(self.bounds)/2.f; self. ...
- MAC 下用 Common Lisp 调试 OpenGL 程序
MAC 下用 Common Lisp 调试 OpenGL 程序 环境搭建 运行环境: OSX 10.11.3 EI Capitan Common Lisp: SBCL 使用 SBCL, 首先要安装这几 ...
- Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第三部分(Page 8)
编写你的第一个 Django app,第三部分(Page 8)转载请注明链接地址 本页教程接前面的第二部分.我们继续开发 web-poll app,我们会专注于创建公共接口上 -- "视图& ...
- 高维数据降维 国家自然科学基金项目 2009-2013 NSFC Dimensionality Reduction
2013 基于数据降维和压缩感知的图像哈希理论与方法 唐振军 广西师范大学 多元时间序列数据挖掘中的特征表示和相似性度量方法研究 李海林 华侨大学 基于标签和多特征融合的图像语义空间学习技 ...
- 【专题】平衡树(Treap,fhq-treap)
[旋转] 平衡树中的旋转是指在不改变中序遍历的前提下改变树的形态的方式.(中序遍历=排名顺序) 右旋将当前点的左节点旋上来,左旋反之.(图侵删) void rturn(int &k){ int ...
- HDU 1176 排列2 全排列
解题报告:给出四个数,然后要你把这四个数组合成的各不相同的四位数按照从小到大的顺序输出来,然后如果最高位是0的话不能输出来,还有最高位是数字如果一样的话,则放在同一行输出. 本来是个比较简单的生成全排 ...
- OpenCV3.4.1+vs2017安装及配置
一.OpenCV3.4.1下载与安装 1.OpenCV3.4.1下载 可以去OpenCV官网上下载http://opencv.org/ 然后找到对应的系统环境就可以下载了,当然了官网上下载会很慢,推荐 ...
- log4net记录系统错误日志到文本文件用法详解
log4net是一个完全免费开源的插件,可以去官网下载源码. 一般系统操作日志不会用log4net,自己写代码存入数据库更方便合理,但是系统部署后运行在客户环境,难免会发生系统bug.崩溃.断网等无法 ...
- C++ Primer 5th 第19章 特殊工具与技术
C++是一种通用型语言,其设计者希望它能处理各种各样的问题,因此除了一些能适用于所有问题的语言特性,还有一些适用于特定问题的特性. 控制内存分配 某些程序对内存分配有着特殊的需求,它们不适合使用标准的 ...
- 使用python开发一个能够计算带括号的复杂表达式的计算器(只支持加减乘除)
使用到了模块re,正则,字典等 # 实现简单的加减乘除括号等运算 # Calculator def calculator(expression): print(expression) import r ...