ccc*_*nrc 7 bash alias variable
我想为我的.bashrc
文件中的命令添加别名,如下例所示:
alias take_row="cat prova.csv_001.txt | awk -v nrow="${nrow}" '{if (NR==nrow) print}'"
Run Code Online (Sandbox Code Playgroud)
但是我想nrow
在从终端启动命令时指定变量。举个例子:
take_row 1
--> 脚本取第一行
take_row 20
--> 脚本取第 20 行
如何在命令中写入诸如<command> | <read nrow user input>
等之类的内容?
fil*_*den 13
使用函数而不是别名,在这种情况下,您可以引用位置参数,例如$1
等。
take_row () {
local nrow="$1"
cat prova.csv_001.txt | awk -v nrow="${nrow}" '{if (NR==nrow) print}'
}
Run Code Online (Sandbox Code Playgroud)
take_row () {
local nrow=$1
awk -v nrow="${nrow}" '{if (NR==nrow) print}' prova.csv_001.txt
}
Run Code Online (Sandbox Code Playgroud)
...并通过删除不需要的代码使其更短:
take_row () {
local nrow=$1
awk -v nrow="${nrow}" 'NR==nrow' prova.csv_001.txt
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1644 次 |
最近记录: |