`

ls特殊场景用的命令

 
阅读更多
参考:http://man.lupaworld.com/content/manage/ringkee/awk.htm
http://blog.csdn.net/mypwb/article/details/5832732

TAR.GZ
这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。使用下面这种格式去压缩一个目录:
# tar -zcvf archive_name.tar.gz directory_to_compress
解压缩:
# tar -zxvf archive_name.tar.gz
上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:
# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/

TAR.BZ2
这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。这个就是你如何使用tar.bz2进行压缩。
# tar -jcvf archive_name.tar.bz2 directory_to_compress
上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:
# tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/


find . -name "*.xml"| xargs grep "9d78c81e47be130e0fac271239890c5c"

find / | xargs grep function 查找系统根目录下面的所有文件的内容中包含有function字符串的文件列表。
find .|xargs grep x
find . -exec grep x{} \;
find / -name "httpd.conf"
find / -name "rsync"
为什么会这样能,因为通道命令符是把上一部的结果传递给下一步来处理,在 find . |grep x中虽然看似和find .|xargs grep x差不多,但是实际上还是有区别的。应为find .得到的结果是一串文件名集合,如果直接传递给grep的话,grep会把这些文件名看作一些无意义的字符串来处理。但是传递给xargs,他会把他当作一个有意义的文件来处理。



ls -l |awk 'NR<21 && NR>10 {print $0}'
只显示11条到20条的文件或目录

只显示数字目录或文件 cd /home/abc/.jenkins/jobs/XXX/builds;ls -t |grep '^[0-9]*$'

ls -l |grep "^d" |awk '{print $9}' 只显示文件夹
ls -l |grep "^-"  只显示文件


cat build.xml|grep '<number'|awk '{print toupper($0)}'

$ awk '{ split( "20:18:00", time, ":" ); print time[2] }'
上例把时间按冒号分割到time数组内,并显示第二个数组元素18。

$ awk '{start=match("this is a test",/[a-z]+$/); print start}'

echo |awk '{start="def";print start}'

echo |awk '{start="def";print index("abcdef",start)}'

$ awk '{ print length( "test" ) }'




8.从shell中向awk传入字符串
awk脚本大多只有一行,其中很少是字符串表示的,这一点通过将变量传入awk命令行会变得很容易。现就其基本原理讲述一些例子。

设置文件名为一变量,管道输出到awk,返回不带扩展名的文件名。

$ STR="mydoc.txt"
$ echo $STR | awk '{print subst($STR, 1, 5)}'
mydoc

设置文件名为一变量,管道输出到awk,只返回其扩展名。
$ STR="mydoc.txt"
$ echo $STR | awk '{print substr($STR, 7)}'
txt
使用管道将字符串stand-by传入awk,返回其长度。
$ echo "Stand-by" | awk '{print length($0)}'
8


$ sed -e 's/foo/bar/g' myfile.txt 
在最后一个斜杠之后附加的 'g' 选项告诉 sed 执行全局替换。

从文件除去 HTML 标记的第一个很好的 sed 脚本尝试
<b>This</b> is what <b>I</b> meant.
变成
This is what I meant.
$echo "<number>79</number>"|sed -e 's/<[^>]*>//g'

sed替换空格: sed  -r 's/\s+//'
替换空格及xml元素 
cat build.xml |grep "<number>"|sed -e 's/<[^>]*>//g'| sed  -r 's/\s+//'
echo "  <number>79</number>" |grep "<number>"|sed -e 's/<[^>]*>//g'| sed  -r 's/\s+//'
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics