ls特殊场景用的命令
参考:http://man.lupaworld.com/content/manage/ringkee/awk.htm
http://blog.csdn.net/mypwb/article/details/5832732
ls -l |awk 'NR<21 && NR>10 {print $0}'
只显示11条到20条的文件或目录
只显示数字目录或文件 cd /home/abc/.jenkins/jobs/TONE-WEB/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+//'