变量是
espejo=u456789
usuario=u123456
grupo=unixgr
我想在变量$espejo
的行出现后添加变量$usuario
和$grupo
中的文字:
cp $DIRECTORY/usu.txt $DIRECTORY/usu.txt.`date '+%F'`
sed "/${espejo}/a\ ${usuario} ${grupo}" $DIRECTORY/usu.txt.`date '+%F'` > $DIRECTORY/usu.txt
我在执行过程中遇到了这个错误:
sed:0602-404函数/ u456789 / a \ u123456 unixgr无法解析。
我不知道出了什么问题。
答案 0 :(得分:1)
尝试以下方法:
sed "/${espejo}/a\
${usuario} ${grupo}" $DIRECTORIO/usu.txt.`date '+%F'` > $DIRECTORIO/usu.txt
请注意,在第一行反斜杠后,除了新行之外没有任何其他符号。
答案 1 :(得分:0)
试试这个:
sed "s:${espejo}:${espejo}\n${usuario} ${grupo}:" $DIRECTORIO/usu.txt.`date '+%F'` > $DIRECTORIO/usu.txt
如果以上只是添加n
而不是换行符,请尝试以下操作:
sed "s:${espejo}:${espejo}\
${usuario} ${grupo}:" $DIRECTORIO/usu.txt.`date '+%F'` > $DIRECTORIO/usu.txt
这会将新变量追加到新行中。我猜您正面临这个问题,因为${espejo}
中包含/
字符。
答案 2 :(得分:0)
这可能适合你(GNU sed):
sed "/$espejo/r /dev/stdin" file <<<" ${usuario} ${grupo}"