Shell程序集合
bash-2.03# pkgchk -l -p /usr/local/bin/rsync
路徑名:/usr/local/bin/rsync
類型:正規(guī)文件
期望的模式:0755
期望的屬主:bin
期望的組:bin
期望的文件大小(字節(jié)):430636
期望的內(nèi)容的 sum(1):2431
期望的上一次修改: 1月 31 11時37分26秒 2009
由以下軟件包引用:
SMCrsync
當(dāng)前狀態(tài):已安裝
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只有包含基本系統(tǒng),不包含圖形界面。
基本系統(tǒng)安裝完成后,安裝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將被忽略掉。
標(biāo)題: 如何將grep的結(jié)果整行的賦給一個變量
請問大家
for var in `grep -rne "aText" .`
do
something
done
如果grep結(jié)果是:
xxxx yyyyy
cccc dddd
那么var會在頭一次循環(huán)中等于xxxx,第二次循環(huán)等于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 命令將輸入字符串反向排列。
找出當(dāng)前目錄下大于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
統(tǒng)計非空白行數(shù):
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什么的也真是難懂。