【发布时间】:2016-10-06 03:19:47
【问题描述】:
我在 Linux Mint 17 上
我得到了这个命令来查看这里的其他 sed 问题,但似乎无法让它工作。谁能建议这里有什么问题?这看起来很简单,但行不通:
$ cat t | sed "s/${FSTAB_UUID}/${SWAP_UUID}/"
sed:-e 表达式 #1,字符 2:未终止的 `s' 命令
$ echo $FSTAB_UUID
15542fac-468c-405f-a156-dd781ece7568
$ echo $SWAP_UUID
2891fb61-26c3-4606-b310-6c12e4788db5
$ cat t
UUID=accbd859-7cdd-4d00-86ea-2b5d7d1cee75 / ext4 errors=remount-ro 0 1
UUID=15542fac-468c-405f-a156-dd781ece7568 none swap rw 0 0
【问题讨论】:
-
使用busybox sed按预期工作。
-
好的,我在 Linux Mint 17 上
-
在 GNU sed 4.2.2 中也可以正常工作。你用的是什么外壳?
-
请添加
echo ">>$SWAP_UUID<<"和echo ">>$FSTAB_UUID<<"的输出以查看变量中是否有尾随换行符或其他内容 -
与您的问题无关,但
cat是不必要的。sed是一个过滤器程序,它以文件名作为其最右边的参数。