gpt4 book ai didi

linux - 系统中的 ubuntu bash 打印结果有额外的 ""

转载 作者:太空狗 更新时间:2023-10-29 11:44:14 27 4
gpt4 key购买 nike

为什么我的 A 结果有 "" 并且只捕获第一个单词而我的 B 没问题?

文件:示例.txt

Amos Tan:Sunny Day:22.5:3:2 
Jason Ong:Rainy Day:20.5:3:2
Bryan Sing:Cloudy Day:29.5:3:2

终端代码:

cat ./sample.txt | while read A B
do
title=`echo “$A” | cut -f 1 -d ":"`
echo "Found $title"
author=`echo “$B” | cut -f 2 -d ":"`
echo "Found $author
done

结果:

Found “Amos”
Found Sunny Day
Found “Jason”
Found Rainy Day
Found “Bryan”
Found Cloudy Day

最佳答案

这一行是问题所在:

cat ./sample.txt | while read A B

它正在将第一个单词读入 A 并将该行的其余部分读入变量 B

您可以更好地使用:

while read -r line
do
title=$(echo "$line" | cut -f 1 -d ":")
echo "Found title=$title"
author=$(echo "$line" | cut -f 2 -d ":")
echo "Found author=$author"
done < ./sample.txt

或者简单地使用awk:

awk -F : '{printf "title=%s, author=%s\n", $1, $2}' sample.txt

关于linux - 系统中的 ubuntu bash 打印结果有额外的 "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27820209/

27 4 0
文章推荐: Linux 环境。让机器变慢
文章推荐: jquery - .autocomplete 不是函数错误
文章推荐: css - 使用
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com