【发布时间】:2018-05-17 18:19:04
【问题描述】:
我想使用可配置的参数替换文本文档中的特定行。文本文档示例:
DialogUpdateTags,
DialogProductNotFound
{
width: 1000;
height: 166;
}
在上面的示例中,我想专门编辑第 4 行“1000”,这样脚本就不会编辑其他可能也是 1000 的宽度值。到目前为止,我有这个:
echo "Enter the desired width size in pixels"
read pixelsize
echo "Width size will be $pixelsize"
之后我需要一个 sed 命令,有人可以帮忙吗? 有没有办法将 SEP 仅指向第 4 行而不编辑其他任何内容?
【问题讨论】:
-
你的意思是像
sed "4s/[^ ]*;/$pixelsize;/" filename? -
或
sed -i 's/^\(\s*width:\s*\)[0-9][0-9]*;$/\1'"$pixelsize"';/' file?或者你可以双引号sed -i "s/^\(\s*width:\s*\)[0-9][0-9]*;$/\1$pixelsize;/" file只要没有其他" width: number;"行就可以正常工作。 -
抱歉,这不是 StackOverflow 的工作方式。 “我想做 X,请给我提示和/或示例代码”形式的问题被认为是题外话。请访问help center并阅读How to Ask,尤其是阅读Why is “Can someone help me?” not an actual question?
-
该行是唯一的,还是文件的其他行也可能匹配
width:\s+1000;?如果这条线是不同的,那很容易,但如果你必须将它放在上下文中,这意味着循环和状态变量之类的东西。