我在RHEL 7.3上。 myfile.txt的第12行看起来像:
image:/ currentimage / myimage
我需要一个bash脚本将其更改为:
image:/ newimage / otherimage
我试过这样做:
<table id="users" class="display" data-source="<%= url_for(:controller => "/account", :action => :paginate, :format => :json) %>">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Role</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
但它失败了: sed:`s&#39;
的未知选项非常感谢任何帮助。
TIA。
答案 0 :(得分:1)
如果您可以使用Awk
,使用表示正在处理的行的NR
变量移动到第12行非常简单,
awk 'NR==12{$2="/newimage/otherimage/"}1' myfile > tmp && mv tmp myfile
部分> tmp && mv tmp myfile
相当于-i
中sed
选项的间接方式,可以就地修改文件。
答案 1 :(得分:1)
您使用/
作为sed
分隔符,并在路径中使用它。请尝试使用|
作为分隔符。
sed -i '12s|image: /currentimage/myimage|image: /newimage/otherimage|' ./myfile
此外,您可以转义文件路径中的每个/
,如\/
。