1 不用排序和uniq来删除文件中重复的行
awk '!x[$0]++'
例子
echo -e "aaa\nbbb\naaa\naa\nccc\naa"|awk \!'x[$0]++'
输出
aaaa bbb aa cc
当然,要是找出重复的行,只需要把”!”去掉即可
2 计算一些特定文件的大小
例子1:当前文件夹下的所有文件的大小
als -l | awk '{s = s+$5 }; END { print s }'
例子2:当前文件夹以及其子文件夹下所有mp3文件的大小
als -lR *.mp3 | awk '{s = s+$5 }; END { print s }'
3 用find来实现上面的例子//当然没事找事复杂了
afind / -name .mp3 -exec ls -l {} \; | awk '{s = s+$5 }; END { print s }'
4 找出你的top10命令n
ahistory | awk '{a[$'`echo "1 2 $HISTTIMEFORMAT" | wc -w`']++}END{for(i in a){print a[i] "\t" i}}' | sort -rn | head -n10
5 把行号和域分解出来
aawk '{print NR": "$0; for(i=1;i<=NF;++i)print "\t"i": "$i}' /etc/passwd
6 重命名文件
als -1 pattern | awk '{print "mv "$1" "$1".new"}' | sh
当然也可是试试rename ‘s/png/jpg/’ * //当然只是个例子而已
发表在《
发表在《
发表在《
太抽象……我还是喜欢c/c++……
[回复]
freetstar
回复:
一月 20th, 2011 at 11:27 上午
@Mucid, 对C++比较恐惧的路过..
[回复]
Mucid
回复:
一月 20th, 2011 at 10:12 下午
@freetstar, 还好家里上网不需要翻墙来你这儿……
[回复]
freetstar
回复:
一月 20th, 2011 at 10:15 下午
@Mucid, 看来是有地域性ban掉阿
[回复]
Mucid
回复:
一月 20th, 2011 at 10:31 下午
@freetstar, 这是当然的哈!
[回复]
话说 这个代码显示格式是使用的什么插件
[回复]
freetstar
回复:
一月 20th, 2011 at 11:29 上午
Syntaxhighlighter envoled
[回复]
jiechic
回复:
一月 21st, 2011 at 2:12 下午
@freetstar, @OSMSG,我用的是Syntax Highlighter Optimized,其实我看完这篇文章,不知道AWK是什么?
[回复]
freetstar
回复:
一月 21st, 2011 at 2:29 下午
@jiechic, 一个linux下的命令吧,怎么说呢,处理文本的利器
[回复]
awk最大的用途是打印表格的某几列
[回复]
freetstar
回复:
一月 19th, 2011 at 10:12 上午
@Tao Zhu, 基本功能是这打印这几列,用好了就是一个编程语言
[回复]
Tao Zhu
回复:
一月 19th, 2011 at 10:14 上午
@freetstar, 是的,但如果真的要写编程语言的话那就用Perl了,它是从awk, sed, grep发展来的
[回复]
freetstar
回复:
一月 19th, 2011 at 10:17 上午
@Tao Zhu, 各有各的作用吧,就像shell,awk,sed.perl这些,特点不一样
[回复]
完全看不懂- -
[回复]
freetstar
回复:
一月 18th, 2011 at 9:10 下午
@ubuntusoft,放假没?
[回复]
ubuntusoft
回复:
一月 18th, 2011 at 9:14 下午
@freetstar, 放假快一周了,都工作两天了
[回复]
freetstar
回复:
一月 18th, 2011 at 9:18 下午
@ubuntusoft, 看来又开始挣钱了阿
[回复]
ubuntusoft
回复:
一月 18th, 2011 at 9:20 下午
@freetstar, 必须的呀,不然没钱花- –
[回复]
freetstar
回复:
一月 18th, 2011 at 9:28 下午
@ubuntusoft, 好!加油
[回复]