如何使 cmd 运行 进入循环?
How to make cmd run inside loop?
我是不是做错了什么?
这个循环似乎不起作用。
#!/usr/bin/ksh
num=3
for i in $(seq 1 "$num")
do
awk 'NR==$i' "$file1" > "$file2"
# Doing some operation
done
我要执行 3 个 awk:
awk 'NR==1' "$file1" > "$file2"
# do some operation
awk 'NR==2' "$file1" > "$file2"
# do some operation
awk 'NR==3' "$file1" > "$file2"
# do some operation
在 Bourne shell 及其衍生版本(ksh、zsh 等)中,变量不会在单引号内展开。
变化:
awk 'NR==$i'
至:
awk "NR==$i"
如果您的 awk 程序比这一行更长,请保留单引号并使用 -v
:
定义一个 awk 变量
awk -v "i=$i" 'NR == i'
我是不是做错了什么?
这个循环似乎不起作用。
#!/usr/bin/ksh
num=3
for i in $(seq 1 "$num")
do
awk 'NR==$i' "$file1" > "$file2"
# Doing some operation
done
我要执行 3 个 awk:
awk 'NR==1' "$file1" > "$file2"
# do some operation
awk 'NR==2' "$file1" > "$file2"
# do some operation
awk 'NR==3' "$file1" > "$file2"
# do some operation
在 Bourne shell 及其衍生版本(ksh、zsh 等)中,变量不会在单引号内展开。
变化:
awk 'NR==$i'
至:
awk "NR==$i"
如果您的 awk 程序比这一行更长,请保留单引号并使用 -v
:
awk -v "i=$i" 'NR == i'