unix 常用命令 perl 实现 sed awk tr nl
2010-07-23 17:31
309 查看
sed
task | sed | perl |
Replace 12 with twelve | sed 's/12/twelve/g' | perl -pe 's/12/twelve/g' |
Replace the word sh with Bourne Shell | sed -e 's/ sh / Bourne Shell /g' [1] | perl -pe 's//bsh/b/Bourne Shell/g' [2] |
Remove lines 2 to 4 from stream | sed '2,4d' | perl -nle 'print if $.<2 || $.>4' |
edit
awk
task | awk | perl |
Print second field (whitespace-separated) | awk '{print $2}' | perl -lane 'print $F[1]' |
Count lines starting with X | awk '/^X/ {++x} END {print x}' | perl -nle '++$x if /^X/; print $x if eof' |
Add numbers in second column and print sum | awk '{sum+=$2} END {print sum}' | perl -lane '$sum+=$F[1]; print $sum if eof' |
edit
tr
task | tr | perl |
ROT13 | tr 'A-Za-z' 'N-ZA-Mn-za-m' | perl -pe 'y/A-Za-z/N-ZA-Mn-za-m/' |
Remove carriage return from DOS files [3] | tr -d '/r' | perl -pe 'tr//r//d' |
edit
grep
task | grep | perl |
Print only lines containing 12 | grep '12' | perl -nle 'print if /12/' |
Print only lines not containing 12 | grep -v '12' | perl -nle 'print if !/12/' |
edit
nl
task | nl | perl |
Insert line numbers (lined up) | nl -ba | perl -nle 'printf "%6s %s/n", $., $_' |
edit
Footnotes
↑Won't match words at start/end of line
↑
Will match any perl word-boundary
which consists of A-Za-z_ followed by a non A-Za-z_
↑
This method will remove all carriage return characters, not only those at end of line
相关文章推荐
- Unix常用命令
- Unix 命令,常用到的
- Unix常用命令
- UNIX(AIX)系统常用命令(二)
- Unix平台下的常用命令技巧之三 NFS文件共享
- Unix常用命令
- Unix常用命令
- linux&unix常用命令
- Unix常用命令(转)
- linux和unix下常用解压和压缩命令(转)
- UNIX常用基本命令
- linux、unix下使用磁带机的常用命令
- Unix vi常用命令
- UNIX常用命令
- Unix/Linux常用命令—备份与压缩
- 工作中用到的 Linux/Unix 常用命令
- UNIX系统常用命令
- linux or unix 常用命令
- 实现远程访问的几个常用dos命令
- Linux/Unix 下常用解压缩命令