jllch311 发表于 2021-01-19 08:59

在指定行的上一行插入另外文本请问用shell如何处理

a文本
259      8.5   1.000
25.3   -1       1.000
22.00   128.01.000
……

Input data
……
我现在需要在input data 上一行插入文本b,请教各位大神应该如何处理呀?

legs 发表于 2021-01-19 14:04

perl -pe's#Input data#b\n$&#' file

legs 发表于 2021-01-19 14:05

sed 's#Input data#b\n&#' file

legs 发表于 2021-01-19 14:05

或者用sed的i也行

jllch311 发表于 2021-01-19 14:35

回复 4# legs

谢谢!我试试,厉害厉害

jllch311 发表于 2021-01-19 14:48

回复 4# legs

我没说清楚,b是一个文件,我要插入文件b。请问应该如何处理呀

legs 发表于 2021-01-19 15:57

jllch311 发表于 2021-01-19 14:48
回复 4# legs 我没说清楚,b是一个文件,我要插入文件b。请问应该如何处理呀

perl -pe'open b,b;/Input/&&print<b>' a
a为你给出的示例文件的文件名,b为要插入的文件名,跟sed一样,确认没问题了,要修改a文件,给个-i

legs 发表于 2021-01-19 15:57

jllch311 发表于 2021-01-19 14:48
回复 4# legs 我没说清楚,b是一个文件,我要插入文件b。请问应该如何处理呀

perl -pe'open b,b;/Input/&&print<b>' a
a为你给出的示例文件的文件名,b为要插入的文件名,跟sed一样,要修改a文件,加个-i选项

jllch311 发表于 2021-01-19 16:21

回复 8# legs

请问-i加在哪里呀,我是shell小白一枚。如果用sed呢?

legs 发表于 2021-01-19 16:22

jllch311 发表于 2021-01-19 16:21
回复 8# legs 请问-i加在哪里呀,我是shell小白一枚。如果用sed呢?

perl -i -pe'open b,b;/Input/&&print<b>' a
页: [1] 2
查看完整版本: 在指定行的上一行插入另外文本请问用shell如何处理