为什么 sed 以相反的顺序写入我的文件?
我需要读取old_file.txt包含以下数据的文本文件 ( ):
文件中有什么old_file.txt:
1.00
2.00
3.00
Run Code Online (Sandbox Code Playgroud)
我有第二个文件,其中包含:
文件中有什么new_file.txt:
AAAA
BBBB
CCCC
DDDD
EEEE
FFFF
GGGG
Run Code Online (Sandbox Code Playgroud)
现在,我需要将光标移动到nthfile 所在的行new_file.txt,并插入 中的所有内容old_file.txt,如下所示:
我需要的:
AAAA
BBBB
CCCC
1.00 <--
2.00 <--
3.00 <--
DDDD
EEEE
FFFF
GGGG
Run Code Online (Sandbox Code Playgroud)
但我得到:
我得到的:
AAAA
BBBB
CCCC
3.00 <--
2.00 <--
1.00 <--
DDDD
EEEE
FFFF
GGGG
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
1.00
2.00
3.00
Run Code Online (Sandbox Code Playgroud)
我不知道为什么写作会以相反的顺序发生!
ste*_*ver 15
发生这种情况是因为您的循环1.00在CCCC之后追加,然后在之后追加,然后2.00在CCCC之后追加。3.00CCCC
为了得到你想要的顺序,你可以代替我nsert$x之前的(N + 1)行-但是你没有,如果你需要使用一个shell循环在这里所有的[R EAD直接从文件:
sed -i "${line}"'r old_file.txt' new_file.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
719 次 |
| 最近记录: |