在指定行号插入文本
时间:2006-04-12 来源:蜡笔pearly
#!/bin/bash
# 从文件的某一行之后插入新行
# FILE 为文件名,LINENUM为行号,TEXT为要插入的文本
# Copyleft: cheyo@JMU
showUsage()
{
echo "[Usage]: insert FILE LINENUM TEXT"
echo "# 从文件的某一行之后插入新行"
echo "# FILE 为文件名,LINENUM为行号,TEXT为要插入的文本"
}
if [ $# -lt 3 ] #少于3个参数,错误!
then showUsage
exit 1
else
sed "${2}a\\${3}" $1 > tmpfile
mv tmpfile $1
fi
感谢softat的网友cheyo
通过sed手册还可以用c \ text进行文本替换;r filename进行其他文件内容附加等等。
sed /^module_/c\kkkk m.c :把m.c文件中以module_开头的行替换为kkkk。
sed s/socket/thinkpad_socket/ batinfo > /tmp/batinfo
mv /tmp/batinfo batinfo //用thinkpad_socket 代替 batinfo中的socket字符串
# 从文件的某一行之后插入新行
# FILE 为文件名,LINENUM为行号,TEXT为要插入的文本
# Copyleft: cheyo@JMU
showUsage()
{
echo "[Usage]: insert FILE LINENUM TEXT"
echo "# 从文件的某一行之后插入新行"
echo "# FILE 为文件名,LINENUM为行号,TEXT为要插入的文本"
}
if [ $# -lt 3 ] #少于3个参数,错误!
then showUsage
exit 1
else
sed "${2}a\\${3}" $1 > tmpfile
mv tmpfile $1
fi
感谢softat的网友cheyo
通过sed手册还可以用c \ text进行文本替换;r filename进行其他文件内容附加等等。
sed /^module_/c\kkkk m.c :把m.c文件中以module_开头的行替换为kkkk。
sed s/socket/thinkpad_socket/ batinfo > /tmp/batinfo
mv /tmp/batinfo batinfo //用thinkpad_socket 代替 batinfo中的socket字符串
相关阅读 更多 +