1. awk & sed基础命令
从 file.txt 中提取第 2、4、5 个字段
awk '{print $2,$4,$5}' input.txt
打印第 5 个字段等于 ‘abc123’ 的每一行
awk '$5 == "abc123"' file.txt
打印第 5 个字段不等于 ‘abc123’ 的每一行
awk '$5 != "abc123"' file.txt
打印第 7 个字段与正则表达式匹配的每一行
awk '$7 ~ /^[a-f]/' file.txt
打印第 7 个字段与正则表达式不匹配的每一行
awk '$7 !~ /^[a-f]/' file.txt
根据第 2 列获取 file.txt 中的唯一条目(只保留第一个实例)
awk '!arr[$2]++' file.txt
打印 file.txt 中第 3 列大于第 5 列的行
awk '$3>$5' file.txt
计算 file.txt 第 1 列的总和
awk '{sum+=$1} END {print sum}' file.txt
计算第 2 列的平均值
awk '{x+=$2}END{print x/NR}' file.txt
替换 file.txt 中所有的 foo 为 bar
sed 's/foo/bar/g' file.txt
去除 file.txt 中的前导空格和制表符
sed 's/^[ \t]*//' file.txt
去除 file.txt 中的尾随空格和制表符
sed 's/[ \t]*$//' file.txt
去除 file.txt 中的前导和尾随空格及制表符
sed 's/^[ \t]*//;s/[ \t]*$//' file.txt
删除 file.txt 中的空行
sed '/^$/d' file.txt
删除包含 error 的行及其之后的所有内容
sed -n '/error/,$!p' file.txt
2. awk & sed复杂命令
按染色体和坐标位置提取文本信息
从 file.txt 中返回 1 号染色体上位置在 1MB 到 2MB 之间的所有行(假设染色体在第 1 列,位置在第 3 列)。此逻辑也可用于返回等位基因频率高于特定值的变异)。
cat file.txt | awk '$1=="1"' | awk '$3>=1000000' | awk '$3<=2000000'
</

最低0.47元/天 解锁文章
6万+

被折叠的 条评论
为什么被折叠?



