用sed的i\命令在第一行前面插入即可,加上 -i 选项直接 *** 作文件。
sed -i '1i\Insert this line' file.txt
文件尾部添加一行字符
echo "Append this line" >>file.txt
或者复杂一点的,用awk,
awk '{print}END{print("Append this line")}' file.txt >output.txt
Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。
Linux *** 作系统诞生于1991 年10 月5 日芦巧(这是第一次正式向外公卖仔布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、陪配键台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的 *** 作系统。
查询有关资料和专业人士交流可以知道,shell给一个文件中的每一行开头插入字符的方法:awk '{print "X"$0}' fileNameshell给一个文件中的每一行结尾插入字符的方法:awk '{print $0"X"}' fileName
shell给一个文件中的每一行的指定列插入字符的方法:awk '$O=$O" X"' fileName
需求:
由于hive表中有大量的临时表,所以决定要想删除它们,这些表全是以t_开头。
因为hive的shell客户端不支持以某个字符开头或以正则表达式删除表,要么一个一个删,要么使用Java程序查出来再删。
*** 作过程:
1.把表源正全显示出来
show tables
2.把你要的表名复制到一个文件中态握
3.给文件中的每一行开头添加drop tables
awk '{print "drop table "$0}' aa.txt >bb.txt
4.给文件中的每一行结尾添加分号
awk '{print $0""}' bb.txt >cc.txt
5.直接复制到帆裂庆hive的shell客户端执行即可
我也给个思路吧 —— 用sed根据地址范围烂扮截取文件内容,用Here documents方法添加新的多行内容,然后重组文渣历链件。具体步骤如下: 1)截取test.xml文件起始如孙行到行,保存到tmp文件; 2)将要添加的内容根据变量值展开,附加写入tmp文件欢迎分享,转载请注明来源:内存溢出
评论列表(0条)