gpt4 book ai didi

linux - 使用 sed 删除变量

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:51 25 4
gpt4 key购买 nike

我正在尝试使用 sed 删除包含变量 $filegrep 的行:

filename=$(basename "$1")
filegrep=$(grep "$filename" /home/$USER/Desktop/Trash/Index/Index.txt)
filefir=$(dirname "filegrep")

我正在尝试用这个命令来做:

sed -i '/$filegrep/d' /home/$USER/Desktop/Trash/Index/Index.txt

但是,我收到错误

sed: no input files

最佳答案

' 中的字符串引用的变量不扩展变量:

marc@panic:~$ touch test.txt
marc@panic:~$ X=test.txt
marc@panic:~$ ls '$X' <---single-quoted
ls: cannot access $X: No such file or directory
marc@panic:~$ ls "$X" <---double-quoted
test.txt

将 sed 调用中的引号更改为 ":

sed -i "/$filegrep/d" /home/$USER/Desktop/Trash/Index/Index.txt
^-- ^--

关于linux - 使用 sed 删除变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17702288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com