【发布时间】:2019-01-08 15:34:52
【问题描述】:
我是 Linux 脚本的新手。 我需要一个文件中的行,一个一个地写在另一个文件的特定行中。
示例:
文件1.txt:
line1
line2
line3
文件2.txt:
abc
abc
xxx
我需要先写“line1”而不是File2.txt的第3行,然后对这个文件做一些操作,然后写“line2”而不是File2.txt的第3行等等。
目前这就是我所拥有的
for n in {1..5}
do
a=$(sed '24!d' File1) #read string 24
echo $a
sed -i '1s/.*/a/' File2.txt
done
现在,我应该将循环中使用的变量 n 代替为第 3 行中的 24。可能吗? 第 5 行也是一样,其中 >"a" 应该是一个变量,但程序将 File2.txt 的第一行更改为 "a"。 我可以使用这个功能还是需要使用其他功能(如果是什么功能?)?
【问题讨论】:
-
欢迎来到 Stack Overflow!抱歉,这不是 StackOverflow 的工作方式。 “我想做 X,请给我提示和/或示例代码”形式的问题被认为是题外话。请访问help center并阅读How to Ask,尤其是阅读Why is “Can someone help me?” not an actual question?
-
你需要研究shell算法、循环、
read和重定向。