使用UDV的简单Awk Bash脚本

时间:2016-12-27 18:12:11

标签: bash awk scripting

这是我的代码:

!/bin/bash

#Basic Syntax - pfc.sh [filename] [keyword] [delimiter]

cat $1 |awk -F $2 '{print $2}' |awk -F $3 '{print$1}'

这是按原样工作的,但是第二个和第三个变量需要被单个刻度包围才能工作,我不希望这是必要的。提前谢谢。

1 个答案:

答案 0 :(得分:1)

  

如何为我的变量添加单个刻度,以便我的团队不必。

目前的工作原理示例:

 sh pfc.sh variable1 'variable2' 'variable3'

抱歉,没有解决方法。单引号( not ticks )告诉shell按字面解释模式。例如,考虑到你有'my argument',而不将参数括在单引号中,shell将其解释为两个参数 - myargument

出于同样的原因,您的脚本也存在缺陷。应该是

cat "$1" |awk -F "$2" '{print $2}' |awk -F "$3" '{print $1}' 
# mind the double quotes which prevents word splitting
# And you can't replace double quotes with single quotes as 
# variable expansion will not happen inside single quotes.