Bash 在sed双引号中使用迭代变量

Bash 在sed双引号中使用迭代变量,bash,sed,Bash,Sed,我试图完成的任务是从一个以逗号开头的文本文件中向一列2位数字添加一定数量的零,例如;“,24” 使用sed,我只想在由while循环中的计数器确定的某些行上执行此操作。我的意思是,当计数器达到j=2时,它将使用此变量作为sed的一部分,在第2行重写“、24”as“、00024” 到目前为止: count=j cat A.txt | while read line do j=$((j+1)) echo "$j" sed -i "$js/,/,000/" A.txt done

我试图完成的任务是从一个以逗号开头的文本文件中向一列2位数字添加一定数量的零,例如;“,24”

使用sed,我只想在由while循环中的计数器确定的某些行上执行此操作。我的意思是,当计数器达到j=2时,它将使用此变量作为sed的一部分,在第2行重写“、24”as“、00024”

到目前为止:

count=j

cat A.txt | while read line

do
    j=$((j+1))

echo "$j"

 sed -i "$js/,/,000/" A.txt

done
我的问题是sed不会识别产生此错误的替换语句

sed:-e表达式#1,字符9:未知命令:`/'

我知道我在这里展示的sed可以不用迭代,但是项目的下一部分需要迭代器

我觉得错误可能在于使用\ escape,但到目前为止,我所做的一切都不起作用


任何帮助都将不胜感激

您确定要将sed与shell循环结合起来,而不是直接在sed中使用地址范围吗?
sed-i“${j}s/,/,000/”a.txt
-bash正在寻找一个名为
js
的变量。大括号告诉它变量的名称就是
j
。shell查找名为
$js
的变量。您必须使用
sed-i“${j}s/…
完美是的,这就是我一直在寻找的!你知道这是非常低效的。它扫描文件的每一行。所花费的时间是文件中行数的二次方。你确定要将sed与shell循环结合起来,而不是直接在sed中使用地址范围吗?
sed-I“${j}s/,/,000/“A.txt
-bash正在寻找一个名为
js
的变量。大括号告诉它变量的名称就是
j
。shell查找名为
$js
的变量。您必须使用
sed-i“${j}s/…
Perfect是的,这就是我一直在寻找的!您知道这是非常低效的。它扫描文件的每一行。所需的时间是文件中行数的二次方。