sed -e"s/`date +%y`/2006/"
sed執行shell命令
或是執行shell 引數
d=`/bin/date --date="1 day ago" "+%y-%m-%d"`
sed在行首,行尾追加不換行.
sed 's/$/insert_helloworld/g' yourfile
以下是換行的:
追加命令
語法格式:
[line-address]a/text
如sed '10a/abcd' sed.txt 在sed.txt檔案中的第10行後面追加一行abcd字元。
sed '/unix/a/abcd//ndcba' sed.txt 在sed.txt檔案中所有出現unix字元的行後面追加一行abcd/ndcba字元
sed '/unix/a/abcd/n/dcba' sed.txt 在sed.txt檔案中所有出現unix字元的行後面追加兩行字元,其中第一行為abcd第二行為dcba。
插入命令
語法格式:
[line-address]i/text
如 sed '/unix/i/adflajflad/n/adfadfajdlf' sed-s.txt 在sed.txt檔案中所有出現unix字元的行前面追加兩行字元,其中第一行為abcd第二行為dcba。
sed替換文件中的空格,將多個替換成乙個
sed "s/[ ][ ]*/ /g"
以下是原文:
sed tr 將多個空格替換為乙個空格
sed 's/[ ][ ]*/ /g'
如果空格與tab共存時用
sed -e 's/[[:space:]][[:space:]]*/ /g' filename
替換文件名中的空格
newfile=$
用 tr :
find . -type f -name "* *" -print |
while read name; do
na=$(echo $name | tr ' ' '_')
if [[ $name != $na ]]; then
mv "$name" $na
fi
done
修改 ifs
#!/bin/sh
ifs=@ read name address
echo "a mail to $name at $address"
read subject
echo "subject: $subject"
or
#!/bin/sh
ifs=:
for p in $path
do
if [ -x $p/$1 ]
then
echo $p/$1
return
fi
done
echo "no $1 in your path" 1 > &2
return 1
or
( ifs=: ; for d in $path; do for f in $d/*gif*; do [ -x $f ] && echo $f; done; done )
今天做了乙個shell程式,結果傳遞過來的檔名有些有空格,導致不能執行,找不到原檔案,急於解決先把檔名的空格都用下劃線都給替換掉,其實應該可以從程式上解決的,繼續看有什麼方法
以下是在網上找的替換空格檔案的指令碼
用 tr :
find . -type f -name "* *" -print |
while read name; do
na=$(echo $name | tr ' ' '_')
if [[ $name != $na ]]; then
mv "$name" $na
fi
done
sed之兩個檔案共有特徵行的合併輸出
cat a.txt 01 12510101 4001 02 12310001 4002 03 12550101 4003 04 12610001 4004 05 12810001 4005 06 12310001 4006 07 12710001 4007 08 12310001 4008 09 1...
兩個明星 兩名水貨 兩個英超解說
兩個明星 兩名水貨 兩個英超解說 來自 撓頭蛇的blog 2006 03 30 08 54 42 大中小1 在這場算不上非常精彩的冠軍盃八強戰中,非常精彩的是兩名阿根廷人的表現。乙個是黃色的里克爾梅,他的護球簡直令人絕望 另乙個是藍黑的薩內蒂,他的狂飆突進幾乎讓人忘記了現代足球的陣型這個概念。看了里...
兩個明星 兩名水貨 兩個英超解說
兩個明星 兩名水貨 兩個英超解說 來自 撓頭蛇的blog 2006 03 30 08 54 42 大中小1 在這場算不上非常精彩的冠軍盃八強戰中,非常精彩的是兩名阿根廷人的表現。乙個是黃色的里克爾梅,他的護球簡直令人絕望 另乙個是藍黑的薩內蒂,他的狂飆突進幾乎讓人忘記了現代足球的陣型這個概念。看了里...