Shell程序集合
bash-2.03# pkgchk -l -p /usr/local/bin/rsync
路径名:/usr/local/bin/rsync
类型:正规文件
期望的模式:0755
期望的属主:bin
期望的组:bin
期望的文件大小(字节):430636
期望的内容的 sum(1):2431
期望的上一次修改: 1月 31 11时37分26秒 2009
由以下软件包引用:
SMCrsync
当前状态:已安装
bash-3.00$ which ls
/usr/bin/ls
bash-3.00$ grep /usr/bin/ls /var/sadm/install/contents
/usr/bin/ls f none 0555 root bin 27400 9595 1169666070 SUNWcsu
从http://www.debian.org/CD/netinst/ 下载netinst CD并安装,注意netinst CD只有包含基本系统,不包含图形界面。
基本系统安装完成后,安装xorg, gnome和gdm:
apt-get install xserver-xorg-core
apt-get install gnome-core
apt-get install gdm
配置:
dpkg-reconfigure xserver-xorg-core
dpkg-reconfigure gnome-core
dpkg-reconfigure gdm
重启即可。
怎样知道一个文件中有多少个逗号?
tr -cd ‘,’ <udev.c | wc -c
d 表述删除
不覆盖文件的cp
yes n | cp -i bfsh-koc/test.sh ./ >& /dev/null
是否覆盖的提示overwrite将被忽略掉。
标题: 如何将grep的结果整行的赋给一个变量
请问大家
for var in `grep -rne "aText" .`
do
something
done
如果grep结果是:
xxxx yyyyy
cccc dddd
那么var会在头一次循环中等于xxxx,第二次循环等于yyyyy。我怎么才能把这一整行赋给var呢?
-bash-3.00$ cat test0405a
123$
$
4$ hello
5$
42$ world
43$ test
#!/bin/bash
typeset -i n=$(grep '4' test0405a | wc -l)
echo $n
typeset -i m=1
while [ $m -le $n ] ; do
var=$(sed -n '/4/p' test0405a | sed -n '$m p')
echo $var
m=$m+1
done
写一个shel脚本,输出文件1中有而文件2中没有的行。
-bash-3.00$ diff text text.2 | sed -n 's/< //'p
用命令 comm 也可以
comm file1 file2
默认是 三列输出
com1 com2 com 3
com1 = not in file1
com2 = not in file2
com3 = in both file1 && file2
输出文件1中有而文件2中没有的行
comm -23 file1 file2
rev 命令将输入字符串反向排列。
找出当前目录下大于4K的文件
-bash-3.2$ find -size +4k
./.nfs00000000042f00d500000022
./a.out
-bash-3.2$ find -size -4k
./server.c
-bash-3.2$ find -size 4k
-bash-3.2$ ls -lh
total 12K
-rwxr-xr-x 1 yuntian member 5.8K Sep 9 16:03 a.out
-rw-r--r-- 1 yuntian member 735 Sep 9 16:03 server.c
统计非空白行数:
grep '.' filename | wc -l
sed '/^$/d' filename | wc –l
――――――――――――――――――――
dd if=/dev/zero of=file.dat bs=1024k count=10
mkfile 10m fiel.dat
――――――――――――――――――――
# tree.sh
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
忘了哪里看到的,显示目录树。sed ,awk什么的也真是难懂。