我想使用以下文件内容作为 for 循环脚本的输入。从第二行开始,我们有 id 将用于从数据库获取内容。
cat abc.txt
id
27
27
27
27
23
答案1
这可以变得简单如下:
{ read -r; while read -r line; do echo "$line"; done; } < abc.txt
这里{
的意思是对命令进行分组。使用read -r
我们将跳过第一行!
答案2
sed
您可以在 proc 之前对其进行过滤。
例如,cat abc.txt
您可以sed 1d abc.txt
删除第一行。
答案3
这有效 - 即使标题不在第一行或有空行:
awk '!/^(id| *)$/{print$0}' file | while read line; do
something $line
done
我while
在这个例子中使用了,因为它通常比for
.
这就是说 - 这是你的for
循环:
for line in $(awk '!/^id$/{print$0}' file); do
something $line
done
答案4
如果您的文件很大,不推荐
你可以这样使用:
for i in $(sed -e '1d' abc.txt)
do
something
done