sed -e"s/`date +%Y`/2006/"
sed执行shell命令
或是执行shell 参数
sed "s/^/$d,/g" /ITC/webapps/stat/sh/te.txt > ${file}
d=`/bin/date --date="1 day ago" "+%Y-%m-%d"`
sed在行首,行尾追加不换行.
sed 's/^/append_helloworld/g' yourfile
sed 's/$/insert_helloworld/g' yourfile
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]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。
语法格式:
[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=${oldfile// /_} 用 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 |