gpt4 book ai didi

linux - 如何打印随机行的列

转载 作者:太空宇宙 更新时间:2023-11-04 11:42:45 26 4
gpt4 key购买 nike

我正在做作业,需要有关 shell 脚本或 nano 编辑器的帮助。输出应该是:

[NAME], [YEAR] 
[RATING]
[DESCRIPTION]

其中方括号中标记的字段对应于从 file.csv 文件中随机选择的电影字段的值。

问题是我不能不单独打印它们,我只能随机打印一行。

我尝试使用命令 cut -d ""-f1 将它们分开,但没有成功。

cat file.csv | wc -l
LINES=$(cat file.csv | wc-l)
R_LINE=$(($RANDOM % LINES))
sed -n "${R_LINE}p" file.csv
echo "NAME: "....., "YEAR:..... "
echo "RATING:..... "
echo "DESCRIPTION:......"

最佳答案

这可以使用 awk 来完成:

LINES=$(cat file.csv | wc-l)
R_LINE=$(($RANDOM % LINES))
awk -FS="," 'NR=='$R_LINE'{printf("NAME: %s, YEAR: %d\n\nRATING:%s\n\nDESCRIPTION:%s\n", $1,$2,$3,$4);exit}' file.csv

此代码假定 file.csv 中的属性以 name,year,rating,description 的顺序列出。如果您有不同的顺序,请相应地更改 printf 语句中的列号。

关于linux - 如何打印随机行的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58780378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com