我在 while 循环中运行以下命令。如果我的行符合我的场景,它将删除该行。我有 2 个示例,第一个有效,第二个失败。有人能指出我的错误吗?
例1:
line="!QCfg { Id: "ABC_XTQK", que: "QUE_166072_XTQK_ROS_CRIBE_PONSE_000", tryPro: false },"
sed -i "/$line/"'d' <FILENAME>
例子2:
line="ABC_XYZ: !PCfg { des: "AB/CDEF/GHI/XYZ/001", type: TOMATO, delMod: DIRECT },"
sed -i "/$line/"'d' <FILENAME>
答案1
我得到了答案,并尝试更改分隔符,因为“/”造成了问题。因此,我使用“|”作为分隔符,因此正确的命令应该是:
sed -i "\|$line|d" <FileName>