【发布时间】:2020-11-27 07:06:29
【问题描述】:
我做错了吗?
这个循环似乎不起作用。
#!/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
【问题讨论】:
-
我认为您可能在
for行的末尾缺少;。 -
在像
awk 'NR<=3' "$file1" > "$file2这样的单个 awk 中不使用循环如何做到这一点。 -
我需要在它们之间做一些事情(NR==1 然后是一些东西,然后是 NR==2 然后是一些东西)
-
请参阅stackoverflow.com/q/19075671/1745001 以及另外 - 不要为此使用 shell 循环,这是完全没有必要的。