在shell中工作我想在我的文本文件(表格)中取出所有「replace_me」實例,並將其替換爲另一個文件中的值(標記),在列表中遞增地工作。使用循環從列表中替換具有不同短語的單個短語
即表中的「replace_me」的第一個實例將被來自標記的「replaced_1」替換,第二個被「replaced_2」替換,直到列表被用盡。
環顧其他答案我認爲它應該像嵌套循環(對於,然後如果),沿着這些線,但我不知道如何使其實際工作,並逐步向下移動'標記'列表。
#!/bin/bash
fileReplace='markers'
fileChange='table'
linesreplace=`cat $fileReplace`
lineschange=`cat $fileChange`
for line in $lineschange ; do
if $linechange = "replace_me"
sed "s/{$lineschange}/{$linesreplace}/g"
else
done
我敢肯定,這是基本的,所以在正確的方向或示例非常受歡迎。
被'replace_me'一整行?你會對ViM中的解決方案感興趣嗎? – Shahbaz 2012-07-18 21:39:30
爲什麼你將搜索和替換字符串分開?一個文件會更有意義。 – 2012-07-18 21:39:46
縮進是您(和我們)的朋友。 – 2012-07-19 02:12:28