Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4729777
  • 博文数量: 930
  • 博客积分: 12070
  • 博客等级: 上将
  • 技术积分: 11448
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 16:57
文章分类

全部博文(930)

文章存档

2011年(60)

2010年(220)

2009年(371)

2008年(279)

分类:

2008-09-24 21:29:28

  逛论坛总可以发现点小BT的东东,今天有人问如何用sed,实现tail -n 20之类.
  我们知道打印一个文本的前n行可以使用sed -n '1,np' text
  那么这里就可以想到将文本倒序,输出前多少行后,再到序过来^_^
zj@zj:~/Script/cushell/08.09.24$ cat text
asd 1
zxc 2
qwe 3
dfg 4
cvb 5
ert 6
zj@zj:~/Script/cushell/08.09.24$ sed '1!G;h;$! d' text | sed -n '1,4p' | sed '1!G;h;$! d'
qwe 3
dfg 4
cvb 5
ert 6
zj@zj:~/Script/cushell/08.09.24$ tail -n 4 text
qwe 3
dfg 4
cvb 5
ert 6
直接贴上了,大字真累...


例如 要将 0xFF, 0x00, 0x00, 0x00, 0x3F 这5个16进制数转换成2进制

zj@zj:~/Script/cushell/08.09.24$ cat test
0xFF,0x11,0x11,0x3F
zj@zj:~/Script/cushell/08.09.24$ cat test.sh
#!/bin/bash
j=1
while(( j<=4 ))
do
a=$(awk -F, -v i=$j '{print $i}' test)
echo $a
echo "obase=2;$((a))" | bc
(( j++ ))
done
zj@zj:~/Script/cushell/08.09.24$ ./test.sh
0xFF
11111111
0x11
10001
0x11
10001
0x3F
111111

阅读(734) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~