英文:
How to get column 4 row 2 data printed from shell script output stored in a variable?
问题
我将shell脚本的输出存储在变量ABCD中,然后使用echo来打印输出,但我只想要第2行的第4列数据。
脚本输出如下:
name city country ID phone
A B C 12 1233
使用|cut -f4
,我能够获取第4列的所有数据,但我只想要打印12
。
英文:
I'm storing shell script output in variable ABCD then using echo to print output but I just want column 4 row 2 data.
scrip output is like below
name city country ID phone
A B C 12 1233
using |cut -f4` I'm able to get column 4 all data but
I just want 12
to get printed
答案1
得分: 2
你可以尝试:
echo "name city country ID phone
A B C 12 1233" | awk 'NR == 2 {print $4}'
英文:
You might want to try:
echo "name city country ID phone
A B C 12 1233" | awk 'NR == 2 {print $4}'
答案2
得分: 1
这个命令可能有效:
tail -n1 file|awk '{print $4}';
或者更高效的方式,由@LéaGris提供:
awk 'END{print $4}' file
英文:
This command could work :
tail -n1 file|awk '{print $4}'
Or more efficiently as provided by @LéaGris
awk 'END{print $4}' file
答案3
得分: 1
如果您严格需要最后一行的数据,可以执行:
*your_script.sh* | cut -f4 | tail -n 1
tail
命令可以获取前面输出的最后几行。
-n 1
标志表示只保留(最后)一行- 如果您想跳过(第一)行并保留其余行数据(不包括标题),可以使用
-n +1
。由于只剩下一行数据,这是多余的。
英文:
If you strictly need last row's data you can do:
*your_script.sh* | cut -f4 | tail -n 1
tail
gives you the last rows of the previous output
-n 1
flag means keep only (the last) one row-n +1
can be used if you want to skip (the first) one row, leaving you with all the remaining row data without the header. Since you only have one remaining row, this is redundant
答案4
得分: 0
Sure, here is the translated content:
如果你只需要除了第一行之外的所有行,你可以使用awk:
awk '!/name city country/ {print $4}';
或者只需使用:
awk 'NR>1 {print $4}';
英文:
If you need all the lines exept the first, you can with awk:
awk '!/name city country/ {print $4}'
or just
awk 'NR>1 {print $4}'
答案5
得分: 0
Got it. Here's the translated part:
尝试以下操作并获得了确切的结果:
|cut -f4 | awk 'NR==2
英文:
Tried below and got exact result :
|cut -f4 | awk 'NR==2
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论