【发布时间】:2013-06-21 18:27:05
【问题描述】:
我正在尝试获取文件的列名并迭代地打印它们。我想问题出在print $i,但我不知道如何纠正它。我试过的代码是:
#! /bin/bash
for i in {2..5}
do
set snp = head -n 1 smaller.txt | awk '{print $i}'
echo $snp
done
示例输入文件:
ID Name Age Sex State Ext
1 A 12 M UT 811
2 B 12 F UT 818
期望的输出:
Name
Age
Sex
State
Ext
但我得到的输出是空白屏幕。
【问题讨论】:
-
不要在循环中设置变量,去掉echo语句。这应该足够了。
-
set 命令是必需的,因为命令的输出是从右侧传递的。我确实尝试在循环外设置变量。我得到错误。