在 shell 脚本中,有一个变量 test="fashfhasf",这里只是举例的,test 的内容是前面的程序生成 的,请问我如何把变量的追加到某个文件的最后一行,在网上查到了 sed 追加的内容的命令,但我这个由于嵌入了变量 ,尝试了几次都没有搞定,拜求各位指点哈
1
zbinlin 2023-02-21 23:16:00 +08:00
为什么用重定向来追加呢:
echo -n "$test" >> FILENAME |
2
junyee 2023-02-22 09:00:56 +08:00
#_#
把问题想复杂了,1# 的多好用. 或者你非要复杂化: `a="are you ok?" echo "hello!"|sed "a $a"` |
3
huntagain2008 2023-02-22 09:50:25 +08:00
小白翻开书,sed 最常用的是处理输入流的文本替换,通常是作为管道的一部分。用 sed 去追加文本,1983 年都用的少,我想应该就跟 ed 编辑器一样,很少人用了,而且 sed 就是由 ed 过渡过来的。
入门里讲到重定向与管道,以>>附加到文件。program >> file 可将 program 的标准输出附加到 file 的结尾处。如果目的文件不存在,>>重定向符便会新建一个。然而,如果目的文件存在,它不会直接覆盖掉文件,而是将程序所产生的数据附加到文件结尾处: for f in dos-file*.txt do tr -d '\r' < $f >> big-UNIX-file.txt done |