2018-07-29 孙小北

Linux学习之shell脚本文件操作

养浩然之气,做博学之人

1. 写入测试文件

#! /bin/bash
echo "测试写文件"
cat>test1<<EOF
这是一个由shell创建的文件
Hello Word!
EOF

其中,<<EOF 表示当遇到EOF时结束输入。

cat>test1<<EOF 这间没有空格

2.覆盖和追加

覆盖

echo "覆盖内容" >test1

追加

echo "追加内容" >>test1
echo "www.xiaowangyun.com" >>test1

如果你想echo到文档,附加(append)的方式,而不是覆盖,可以使用【>>】来取代【>】

sed使用

sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。





4.批量替换多个文件中的 字符串

用sed命令可以批量替换多个文件中的 字符串。 
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
例如:我要把xiaobei替换 为xiaowangyun,执行命令: 

sed -i "s/xiaobei/xiaowangyun/g" 'grep xiaobei-rl /www'

对多个文件的处理可能不支持,需要用 xargs, 搞定。
变种如下:
grep oldString -rl /path | xargs sed -i "s/oldString/newString/g" 

注意: 
在  `grep oldString -rl /path`    中 ` 为1前边的翻引号`,而不是enter 前的 '






编辑:孙小北

本文地址: https://www.xiaowangyun.com/wyblog/detail/?id=211

版权归属: www.xiaowangyun.com   转载时请以链接形式注明出处

0 条评论

快来评论

物以类聚

最新评论

2017-10-06

一辈子不长,只有珍惜了,才不至于后悔。

2017-10-06

懂得感恩,才能走得更远。

标签云

归档

取消

感谢您的支持,您的每一次打赏都是一次鼓励!

扫码支持
每一次支持,都是不懈的动力

打开支付宝扫一扫,即可进行扫码打赏哦