我尝试编写一个非常简单的 bash 文件,允许我打开和修改 n 次 file.java 。
我想要的修改只是单个数字的单个(或两个)行中的更改。
我尝试使用以下代码执行此操作:
#!/bin/bash
# commento
touch ic.java
touch input
n=0
for n in "1" "2" "3" "4.5"
do
echo 'import java.io.*;'>ic.java
echo 'import java.util.*;'>>ic.java
echo ' '>>ic.java
echo 'class INITIAL_CONDITION_NORMAL {'>>ic.java
echo 'public static void main (String args[]) {'>>ic.java
echo "$n">>ic.java
n=$(($n+1))
echo '....'>>ic.java
done
java ic.java
如您所见,我必须编写所有文件,并且当我想更改数字时,将"$n"
and n=$(($n+1)) 放在行中,然后继续直到文件末尾并启动它(java ic.java)。
我知道我可以使用类似的东西:
sed -i 'm-th_row/old/new/' ic.java
但是如果我想递归地执行此操作(100 次),每次使用不同的new
值(如示例中所示)我该怎么做?
非常感谢你的帮助 !