一些感觉不错的命令
2011-06-17 09:46
316 查看
1.输入文件的最后5行到另一个文件中
tail -5 文件名|xargs echo >> 另一个文件名
2.查找文件中包含hello的行
grep –i “hello” a.txt grep hello a.txt
3.打印匹配的的字符并显示该行行号
sed -e ‘/music/=’ temp.txt
4.查找当前目录下所有目录名为CVS的子目录的命令
find ./ -name “CVS” –type d
5.删除当前目录下所有目录名为CVS的子目录的命令
find ./ -name “CVS” –type d|xargs rm –rf
echo CVS/ |xargs rm –rf
ls -l | awk '/^d/&&/CVS$/{print $NF}' | xargs rm -rf
6.如何把一个文件的内容添加到另一个文件的末尾
cat ss.txt >> aa.txt 把ss.txt的内容追加到aa.txt
7.如何实时的显示一个文件的输出
tail –f a.txt tail –F a.txt
8.删除.svn
find -name '.svn' |xargs rm –rf
9.查询一个文件的10-20行,然后再复制到另一个文件里
sed –n ’10,20’p /root/ssh-demo/aa.sh|xargs echo >> /var/www/a.php
xargs 用于构造数列或者执行命令,但是发现不换行,然后这么写,
sed –n ’10,20’p /root/ssh-demo/aa.sh|xargs -d /n echo >> /var/www/a.php
10.删除数量比较多的文件
ls | xargs -n 20 rm -rf
ls当然是输出所有的文件名(用空格分割)
xargs就是将ls的输出,每20个为一组(以空格为分隔符),作为rm -rf的参数
也就是说将所有文件名20个为一组,由rm -rf删除,这样就不会超过命令行的长度了
11.对大文件去重复行和排序
简单的用法如下,如一个文件名:happybirthday.txt
cat happybirthday.txt (显示文件内容)
Happy Birthday to You!
Happy Birthday to You!
Happy Birthday Dear Tux!
Happy Birthday to You!
cat happybirthday.txt|sort (排序)
Happy Birthday Dear Tux!
Happy Birthday to You!
Happy Birthday to You!
Happy Birthday to You!
cat happybirthday.txt|sort|uniq (去重复行)
Happy Birthday Dear Tux!
Happy Birthday to You!
但有时碰到一个大文件时(例如G级的文件),用上面的命令时报错,提示空间不足。我尝试了一下,最后是用 split 命令把大文件分割为几个小文件,单 独排完序后再合并 uniq
split -b 200m happybirthday.big Prefix_
用-b参数切割happybirthday.big,小文件为200M。切割后的文件名前缀是Prefix_
再分别sort
sort Prefix_aa >Prefix_aa.sort
sort Prefix_ab >Prefix_ab.sort
再用 sort -m合并,再 uniq
cat Prefix_aa.sort Prefix_ab.sort |sort -m |uniq
上面的代码排序后还是不满意的话,可尝试下面的:
sort -sm Prefix_aa.sort Prefix_ab.sort|uniq
sort 与 uniq 命令还有许多有用的参数,如sort -m、uniq -u、uniq -d等
tail -5 文件名|xargs echo >> 另一个文件名
2.查找文件中包含hello的行
grep –i “hello” a.txt grep hello a.txt
3.打印匹配的的字符并显示该行行号
sed -e ‘/music/=’ temp.txt
4.查找当前目录下所有目录名为CVS的子目录的命令
find ./ -name “CVS” –type d
5.删除当前目录下所有目录名为CVS的子目录的命令
find ./ -name “CVS” –type d|xargs rm –rf
echo CVS/ |xargs rm –rf
ls -l | awk '/^d/&&/CVS$/{print $NF}' | xargs rm -rf
6.如何把一个文件的内容添加到另一个文件的末尾
cat ss.txt >> aa.txt 把ss.txt的内容追加到aa.txt
7.如何实时的显示一个文件的输出
tail –f a.txt tail –F a.txt
8.删除.svn
find -name '.svn' |xargs rm –rf
9.查询一个文件的10-20行,然后再复制到另一个文件里
sed –n ’10,20’p /root/ssh-demo/aa.sh|xargs echo >> /var/www/a.php
xargs 用于构造数列或者执行命令,但是发现不换行,然后这么写,
sed –n ’10,20’p /root/ssh-demo/aa.sh|xargs -d /n echo >> /var/www/a.php
10.删除数量比较多的文件
ls | xargs -n 20 rm -rf
ls当然是输出所有的文件名(用空格分割)
xargs就是将ls的输出,每20个为一组(以空格为分隔符),作为rm -rf的参数
也就是说将所有文件名20个为一组,由rm -rf删除,这样就不会超过命令行的长度了
11.对大文件去重复行和排序
简单的用法如下,如一个文件名:happybirthday.txt
cat happybirthday.txt (显示文件内容)
Happy Birthday to You!
Happy Birthday to You!
Happy Birthday Dear Tux!
Happy Birthday to You!
cat happybirthday.txt|sort (排序)
Happy Birthday Dear Tux!
Happy Birthday to You!
Happy Birthday to You!
Happy Birthday to You!
cat happybirthday.txt|sort|uniq (去重复行)
Happy Birthday Dear Tux!
Happy Birthday to You!
但有时碰到一个大文件时(例如G级的文件),用上面的命令时报错,提示空间不足。我尝试了一下,最后是用 split 命令把大文件分割为几个小文件,单 独排完序后再合并 uniq
split -b 200m happybirthday.big Prefix_
用-b参数切割happybirthday.big,小文件为200M。切割后的文件名前缀是Prefix_
再分别sort
sort Prefix_aa >Prefix_aa.sort
sort Prefix_ab >Prefix_ab.sort
再用 sort -m合并,再 uniq
cat Prefix_aa.sort Prefix_ab.sort |sort -m |uniq
上面的代码排序后还是不满意的话,可尝试下面的:
sort -sm Prefix_aa.sort Prefix_ab.sort|uniq
sort 与 uniq 命令还有许多有用的参数,如sort -m、uniq -u、uniq -d等
相关文章推荐
- SVN的命令解析(感觉不错就转了)
- dl列表标签的一些介绍,感觉还是不错的!
- arm-linux-ld命令 ld链接脚本(不错,推荐可以学习一些lds链接脚本文件)
- 在网上找了一些Jquery弹出窗口,感觉不错记录下来。
- 前端er常用的一些辅助小工具(感觉不错,特别是icon那个,小神奇)
- 【Linux基础笔记】一些感觉重要的基本命令
- 【Linux基础笔记】一些感觉重要的基本命令<三>
- 收集的一些感觉不错的有关js的文章
- Java IO浅谈(个人感觉例子不错,替换流,数组,文件或者大的字符串中的一些字符或者字符串)
- 推荐一些常用感觉不错的jQuery插件
- 收集一些感觉不错的旅游圣地吧
- SVN的命令解析(感觉不错就转了)
- VS 2005(VB.net)的一些个人感觉不错的地方
- 最近在研究 .NET 组件编程,感觉不错,对底层更了解一些了
- Android常用的一些make命令(转载)--不错
- 推荐一些常用感觉不错的jQuery插件
- Ansible 常用的一些命令
- Oracel一些查看命令
- mysql一些复制表、增删改索引、建存储过程、创建函数、创建触发器的一些命令
- Oracle 和 mysql 的一些简单命令对比参照