之前一般在linux上开发,最近经常在MacOS上本地开发,所以记录下Mac上使用时遇到的问题,here you go ~
1. sed原地修改文件
使用参数-i extension,extension是Mac上强制需要指定的,解释如下:使用参数-i extension,extension是Mac上强制需要指定的,解释如下:
-i extension
Edit files in-place, saving backups with the specified extension. If a zero-length extension is given, no backup will be saved. It is not recommended to give a zero-length extension when in-place editing files, as you risk corruption or partial content in situations where disk space is exhausted, etc.
2. 在匹配或者指定的行号的前面或后面插入一行
2.1 Mac的方式:
- 在指定行号后插入一行
sed "$line a\ (注意此处有空格,要在下一行添加文本)
$value(如果想换行要把\"双引号写到下一行)
" $file
- 在匹配位置 之后(append text) 插入一行
sed "/regex/ a\ (注意此处有空格,要在下一行添加文本)
$value(如果想换行要把\"双引号写到下一行)
" $file
2. GUN方式:
- 在指定行号后插入一行
sed "$line a\\(多加一个\,防止后面的$value被转义)$value" $file
- 在匹配regex正则表达式的行后插入一行
sed "/regex/ a\\(多加一个\,防止后面的$value被转义)$value" $file