【发布时间】:2016-10-13 19:28:36
【问题描述】:
我在 bash 中有这个脚本:
#!/bin/bash
dir="/home/dortiz/Prueba"
for i in $dir/*
do
cat $i | awk '{print $1" " $2" " $3" " $4"\n " $5}' | \
awk '/gi/{print ">" $0; getline; print}' | \
awk '$3>20.00 {print $0; getline; print;}' \
> "${i}.outsel"
done
cd /home/dortiz/Prueba
mv *.outsel /home/dortiz/Prueba2
我想设置一个参数以从调用此脚本的主程序中以一种简单的方式更改 ""awk '$3>"" 之后的值。
我读过一些关于 getopts 的文章,但我完全不理解
提前非常感谢
【问题讨论】:
-
通常不需要通过管道将 awk 传递给 awk:
awk | awk | awk。您可以使用-v var=xxx设置变量:awk -v my_var=1234 'BEGIN {print my_var}'
标签: bash variables arguments getopts