我想替换下面文本文件中的ID值。现在是1到200。我希望它从201到400。

test.txt

paraCR="0566 and 0675" ID="1"
paraCR="0566 and 0675" ID="2"
.
.
paraCR="0566 and 0675" ID="200"


我尝试使用以下脚本,但无法正常工作。

#!/bin/bash
for (( i=1,k=201; i<=200; i++,k++ ))
do
   find . -type f -name "test.txt" -exec sed -i'' -e 's/i/k/g' {} +
done

最佳答案

在这里,您有一种不使用for的方法:

i=201
while read line
do
   echo $line | sed -s "s/ID\=\"[0-9]*\"/ID\=\"$i\"/g" >> new_file
   i=$(( $i + 1))
done < test.txt
mv new_file test.txt

10-08 05:40
查看更多