暗黑的shell修改文件操作

几个命令: cut, sed, awk

cut

echo [str] | cut -d [sep] -f [num] #使用分割符[sep]切分字符串[str]并返回第[num]段(从1编号) 

sed

sed -e '[desc] [str]' [file] #对文件[file]按照"[desc] [str]"进行修改,并将修改内容输出,原文件保持不变

其中 [desc] 部分格式为 [line][op],或 [start line],[end line][op],对 第[line] 行,或者 [start line][end line] 之间所有行进行 [op] 操作
其中行编号1-based,行区间为闭区间
[op] 可以为以下操作:

  • a : 新增行
  • d : 删除行
  • c : 替换(用 [str] 替换选中所有行)
  • d : 删除(一般没有 [str] 部分)
  • i : 插入
  • s : 替换("[start line],[end line]s/[old pattern]/[new pattern]/"

全局替换: s/[old pattern]/[new pattern]/g

sed -n: (--silent) 只显示处理后的结果

example

cat [file] | sed -n '5,7p' #显示文件5到7行
cat [file] | sed  '/oo/d' #删除所有包含"oo"的行,其他行输出

awk

标签: none

添加新评论