Linux 在shell脚本中的文件中插入带有特殊字符(正斜杠)的行

Linux 在shell脚本中的文件中插入带有特殊字符(正斜杠)的行,linux,bash,shell,Linux,Bash,Shell,在文件中插入行的脚本 > cat text BBLAYERS ?= " \ /home/neeraj/yocto/poky/meta \ /home/neeraj/yocto/poky/meta-yocto \ /home/neeraj/yocto/poky/meta-yocto-bsp \ " 我必须在图案下方插入一条线,如下所示: > cat text BBLAYERS ?= " \ /home/neeraj/yocto/poky/meta \ /hom

在文件中插入行的脚本

> cat text
BBLAYERS ?= " \
  /home/neeraj/yocto/poky/meta \
  /home/neeraj/yocto/poky/meta-yocto \
  /home/neeraj/yocto/poky/meta-yocto-bsp \
  "
我必须在图案下方插入一条线,如下所示:

> cat text
BBLAYERS ?= " \
  /home/neeraj/yocto/poky/meta \
  /home/neeraj/yocto/poky/meta-yocto \
  /home/neeraj/yocto/poky/meta-yocto-bsp \
  /home/neeraj/yocto/poky/meta-ti \
  "
(未测试) 可能是您正在寻找的:

#!/bin/bash

awk -v search="$1" -v add="$2" '$0 ~ search{$0=$0"\n"add}1' "$3" >$4

exit
其中,您将使用以下格式执行:

user@system:$ ./path-to-script.sh "Line you want to find" "Line you want to add" Input_File Output_File

如果需要更多解释,请告诉我。:-)

你能展示你到目前为止所做的工作吗?@asimovwasright:我正在尝试使用
sed-I'/OLD/a\NEW“file
类型命令,其中我在旧行下面追加新行。请注意,参数上的引号不是可选的,除了输入和输出文件。你也可以在脚本中删除
“$3”>$4
,并将命令更改为更适合linux:
user@system:$。/path-to-script.sh“要查找的行”要添加的行“输出文件”
使用正确的输入/输出控件。@suneet saini??习惯上,你要记录自己的问题,要么接受答案,要么接受评论。否则,当人们将来有同样的问题时,将无法验证这是正确的答案。这个论坛是为了每个人的利益,而不仅仅是问问题的人。