我的文本文件由5列组成。根据用户输入,只想在第2,第3,第4和第5列中搜索并替换它。
例如
oldstring="Old_word"
newstring="New_word"
所以想找到oldstring的所有完全匹配并用newstring替换它。 即使匹配,第一列也应该不受影响。
浏览并发现awk会这样做,但我可以在一个特定列中进行更改。
bash脚本
答案 0 :(得分:1)
<button class="et_pb_button">Continue Browsing</button>
<script>
var url = 'www.test.com/signin'; // you need to know where you want to redirect to before hand
document.querySelector('.et_pb_button').addEventListener('click', function() {
if(window.history.length > 2) {
window.history.go(-2);
} else {
window.location.href = url;
}
});
</script>
$ cat testfile
a,b,c Old_word,d,e
f,gOld_wordOld_wordOld_words,h,i,j
$ awk -F, -v OFS=, -v oldstring="Old_word" -v newstring="New_Word" '{
for (i=2; i<=5; i++) { gsub(oldstring,newstring,$i) }
print
}' testfile
有关awk的详细信息,请阅读awk info page
答案 1 :(得分:1)
另一种方式,类似于Glenn Jackman的回答是:
$ awk -F, -v OFS=, -v old="Old_word" -v new="New_word" '{
s=$1; $1=""; gsub(old,new,$0); $1=s
print }' <file>