我需要替换文件第一行的第一个单词 例如:在下面的'^'分隔文件中,我需要用PARA1替换HEADER1。
cat FILE.TXT
头1 ^ ^ HEADER2 ^ HEADER3 ^ HEADER4 ^ HEADER5
HEADER6
SUBHEADER1 ^ ^ SUBHEADER2 ^ SUBHEADER3 ^ SUBHEADER4 ^ SUBHEADER5 ^ SUBHEADER6 ^ SUBHEADER7 ^ SUBHEADER8 ^ SUBHEADER9 ^ SUBHEADER10 ^ SUBHEADER11 ^ SUBHEADER12
SUBHEADER13
10 ^ 56 ^ Q1 ^ Q1 ^ 95 ^ 02 ^ ^ ^ 4 ^ 20170501 ^ 20170501 ^ ABCD ^
20 ^ 56 ^ Q2 ^ Q2 ^ 95 ^ 02 ^ ^ ^ 4 ^ 20170502 ^ 20170502 ^ ABCD ^
30 ^ 56 ^ Q3 ^ Q3 ^ 95 ^ 02 ^ ^ ^ ^ ^ 20170503 ^ 20170503 ^ ABCD ^
我不想使用sed在文件&中找到HEADER1的第一个出现。替换它。
相反,它应该适用于第一行文件的第一个单词中的任何值。
任何建议都非常感谢。
感谢。
答案 0 :(得分:0)
如果我理解正确,您不想使用sed,因为您认为它限制您用另一个字符串替换特定字符串? sed需要正则表达式,它允许您执行以下操作:
<link rel="stylesheet" href="//cdn.materialdesignicons.com/1.9.32/css/materialdesignicons.min.css">
<div class="privacy-select">
<span class="display-ib">
<span class="mdi mdi-earth"></span>
<p>World</p>
</span>
<ul class="my-dropdown">
<li>
<span class="mdi mdi-account"></span>
<p>Friend</p>
</li>
<li>
<span class="mdi mdi-lock"></span>
<p>Privacy</p>
</li>
</ul>
</div>
这将替换PARA1的输入的第一个单词(仅在第一行),假设单词由sed -e '1 s/^[^^]*/PARA1/' < /tmp/input.txt
分隔。