aix 下,对文件头 插入一行数据

时间:2020-11-25 15:04:24
在aix下,需要批量对文件进行操作,在文件头插入一行记录
但苦于没有找到这样的命令

说明:本操作系统的sed 没有-i的选项

希望有知道的大侠们能告知一下,在此谢谢了

10 个解决方案

#1


echo xxx > 临时文件
cat 目标文件>>临时文件
mv 目标文件 文件备份
mv 临时文件 目标文件

#2


不好意思没有说明,
我的意思是单命令行,并且使用sed ,awk等相关的命令,不是使用函数等

#3


awk '{if(NR==1){$0="aaaaa\n"$0}{print >"test1"}}' test1
在test1文件第一行前面追加一行aaaaa

测试后再使用!

#4


引用楼主 myamor 的回复:
在aix下,需要批量对文件进行操作,在文件头插入一行记录
但苦于没有找到这样的命令

说明:本操作系统的sed 没有-i的选项

希望有知道的大侠们能告知一下,在此谢谢了

建临时文件,再mv

#5


引用 3 楼 steptodream 的回复:
awk '{if(NR==1){$0="aaaaa\n"$0}{print >"test1"}}' test1
在test1文件第一行前面追加一行aaaaa

测试后再使用!


这个语句好呀,太好了,好像死循环了!!!!害我呀!!!!

#6


sed "1 i\aaa" a.c

在a.c文件的第一行插入aaa

#7


引用 6 楼 zsj2000 的回复:
sed "1 i\aaa" a.c

在a.c文件的第一行插入aaa


好像不行吧
sed "1 i\aaa" a.c
sed:0602-404 函数 1 i\aaa 不能进行语法分析

#8


实在不好意思,我已经找到了,我想对大家也会有用的
perl -pi -e 'print "aaaaa\n" if $. == 1' 1.sh


大家可以试试,谢谢大家了

#9


引用 5 楼 myamor 的回复:
引用 3 楼 steptodream 的回复:
awk '{if(NR==1){$0="aaaaa\n"$0}{print >"test1"}}' test1
在test1文件第一行前面追加一行aaaaa

测试后再使用!


这个语句好呀,太好了,好像死循环了!!!!害我呀!!!!

看来系统不一样 区别很大么
我在CentOS5.5下测试就没问题哇!

#10


sed "1 i\aaa" \tmp\a.c >a.c
cp a.c \tmp

在将\tmp目录下a.c文件的第一行前插入aaa,并保存在当前目录下的同名文件
将当前目录下的a.c在拷到需要的目录\tmp下,覆盖原文件完成更改任务。

#1


echo xxx > 临时文件
cat 目标文件>>临时文件
mv 目标文件 文件备份
mv 临时文件 目标文件

#2


不好意思没有说明,
我的意思是单命令行,并且使用sed ,awk等相关的命令,不是使用函数等

#3


awk '{if(NR==1){$0="aaaaa\n"$0}{print >"test1"}}' test1
在test1文件第一行前面追加一行aaaaa

测试后再使用!

#4


引用楼主 myamor 的回复:
在aix下,需要批量对文件进行操作,在文件头插入一行记录
但苦于没有找到这样的命令

说明:本操作系统的sed 没有-i的选项

希望有知道的大侠们能告知一下,在此谢谢了

建临时文件,再mv

#5


引用 3 楼 steptodream 的回复:
awk '{if(NR==1){$0="aaaaa\n"$0}{print >"test1"}}' test1
在test1文件第一行前面追加一行aaaaa

测试后再使用!


这个语句好呀,太好了,好像死循环了!!!!害我呀!!!!

#6


sed "1 i\aaa" a.c

在a.c文件的第一行插入aaa

#7


引用 6 楼 zsj2000 的回复:
sed "1 i\aaa" a.c

在a.c文件的第一行插入aaa


好像不行吧
sed "1 i\aaa" a.c
sed:0602-404 函数 1 i\aaa 不能进行语法分析

#8


实在不好意思,我已经找到了,我想对大家也会有用的
perl -pi -e 'print "aaaaa\n" if $. == 1' 1.sh


大家可以试试,谢谢大家了

#9


引用 5 楼 myamor 的回复:
引用 3 楼 steptodream 的回复:
awk '{if(NR==1){$0="aaaaa\n"$0}{print >"test1"}}' test1
在test1文件第一行前面追加一行aaaaa

测试后再使用!


这个语句好呀,太好了,好像死循环了!!!!害我呀!!!!

看来系统不一样 区别很大么
我在CentOS5.5下测试就没问题哇!

#10


sed "1 i\aaa" \tmp\a.c >a.c
cp a.c \tmp

在将\tmp目录下a.c文件的第一行前插入aaa,并保存在当前目录下的同名文件
将当前目录下的a.c在拷到需要的目录\tmp下,覆盖原文件完成更改任务。