shell脚本内有sed命令,转成可执行后报错sed: can't read /home/.../TBCxiug: No such file or direc

xyq916 2019-06-13 10:34:13
linux终端中依次输入2条命令:
sed -i "s/`cat TBCxiug.dat |awk '{print $2 }'|awk 'NR==74{print}'`/`cat a.txt |awk '{print $2 }'|awk 'NR==1{print}'`/g" TBCxiug.dat
/opt/software/.../nessus /opt/software/.../license.txt /home/.../TBCxiug probabilistic verbose z
能执行并得到相应结果(不要关注第二条命令,它是调用名为nessus的软件计算一个案例)

我把上面2条命令写入file.txt,
#!/bin/sh
sed -i "s/`cat TBCxiug.dat |awk '{print $2 }'|awk 'NR==74{print}'`/`cat a.txt |awk '{print $2 }'|awk 'NR==1{print}'`/g" TBCxiug.dat
/opt/software/.../nessus /opt/software/.../license.txt /home/.../TBCxiug probabilistic verbose z

并chmod +x file.txt 变成可执行后, ./file.txt运行后,报错如下:
/opt/software/NESSUS-9.5/bin/Linux/nessus: No such file or directory
sed: can't read /home/xiaoyq/Desktop/NESSUS_Temp/TBCxiug: No such file or directory
sed: can't read probabilistic: No such file or directory
sed: can't read verbose: No such file or directory
sed: can't read z: No such file or directory


求分析原因,求解决
...全文
2654 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
T-BagZe 2020-11-30
  • 打赏
  • 举报
回复
博主,解决了吗?我也遇到同样的问题
agpintel 2020-11-30
  • 打赏
  • 举报
回复
第一行sed没有语法错误,我也模拟测试过。 问题可能出现在文件格式,是不是第一行的回车符不正确, 把第二行的文件也当做sed待处理的文件, 尝试把file.txt 转成unix格式试试 或直接在linux vi 手动输入命令生成file.sh
xyq916 2019-06-14
  • 打赏
  • 举报
回复
引用 3 楼 Empty_city_dreams 的回复:
 TBCxiug.dat在那个地方,脚本又在哪??放一起的么

放在同一个文件夹中的。
Empty_city_dreams 2019-06-13
  • 打赏
  • 举报
回复
sed没有找到文件或者目录,你看下是不是路径问题,文件的路径最好使用绝对路径
Empty_city_dreams 2019-06-13
  • 打赏
  • 举报
回复
 TBCxiug.dat在那个地方,脚本又在哪??放一起的么
xyq916 2019-06-13
  • 打赏
  • 举报
回复
引用 1 楼 Empty_city_dreams 的回复:
sed没有找到文件或者目录,你看下是不是路径问题,文件的路径最好使用绝对路径

但是我一条一条输命令时并没有出错,而且实际上第二条命令与sed都没关系了

18,782

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧