我是Unix命令的新手。 我在 hdfs 中有一个管道分隔的测试文件。我想通过 shell 脚本从文件中获取第一行的第二个字段并将其存储在变量中。 为了阅读第一行,我使用了以下命令,但它显示的错误为-head unknown command
line=$(hadoop fs -head -n 1 $new_file)
我知道为了抓住我们可以使用的行的第二个字段
y=$(echo $x | awk '{print $2}')
echo $y
其中 y 将是文件的第一行
这应该可以...
$ var="$(awk -F'|' '{print $2; exit}' file)"
它将从第一行中提取第二个字段。
只有第一行的第二个字段,然后跟随会帮助你。所以我使用exit
以便只读取第一行,它不应该读取Input_file的所有行。
variable=$(awk -F"|" 'FNR==1{print $2;exit}' Input_file)
以上代码说明:
variable=$(..)
:创建一个名为变量的变量,它具有获取第一行的第二个字段的命令,它将在其中存储其值。
awk
的解释在这里:
-F"|"
:设置行的字段分隔符。
FNR==1
:检查行是否为第一行。
print $2
: 打印第一行的第二个字段。
exit
:退出不会读取进一步的文件,将节省我们的时间。