养浩然之气,做博学之人
#! /bin/bash echo "测试写文件" cat>test1<<EOF 这是一个由shell创建的文件 Hello Word! EOF
其中,<<EOF 表示当遇到EOF时结束输入。
cat>test1<<EOF 这间没有空格
覆盖
echo "覆盖内容" >test1
追加
echo "追加内容" >>test1 echo "www.xiaowangyun.com" >>test1
如果你想echo到文档,附加(append)的方式,而不是覆盖,可以使用【>>】来取代【>】
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
用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 条评论