gpt4 book ai didi

Linux Bash 字符串连接问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:36 24 4
gpt4 key购买 nike

<分区>

我试图从 CSV 文件中读取第一行,然后从这两个条目构建一个字符串,稍后用作文件名。我的代码如下:-

#Read TXT File to get Plan Number and Letter Type
while IFS=, read -r plan lettype
do
p="${plan/\//~}"
q="$lettype"
r="${p}_$q"
echo $r
done < "$j"

$r 目前正在回显 320529~14_NEA

csv 文件的第一行通常类似于 320529/14,NEA,我需要将类似这样的内容放入变量中

320529~14_NEA_NA_NA_131624733749396662.TIF

_NA_NA_.TIFF 是静态的,长数字是某种时间戳,但目前我很高兴使用 $(date + %s)。

--更新--到目前为止,感谢您提出的两个建议 - 但都不起作用。这是我试过的。

  if [ -f $j ]; then
echo "File $j exists."

name="$(head -n1 ${j})_NA_NA_$(date +%s).TIFF"
echo $name

#Read TXT File to get Plan Number and Letter Type
while IFS=, read -r plan lettype
do
p="${plan/\//~}"
q="$lettype"
r="${p}_$q_NA_NA_$(date +%s).TIFF"
s="${p}_${q}_NA_NA_$(date +%s).TIFF"
echo $r
echo $s
done < "$j"
else
echo "File $j does not exist yet."
fi

输出

File ./GG11HH1J.TXT exists.
_NA_NA_1518009847.TIFF
320529~14_1518009847.TIFF
_NA_NA_1518009847.TIFF

--更新2--感谢@triplee,我现在有了答案。这是一个 DOS 行结尾。剥离它,一切都按预期工作。使用的代码是:-

    fname=$(cat $j | sed 's/\r$//')
fname="${fname/\//~}_NA_NA_$(date +%s).TIFF"
fname=${fname/,/_}
echo $fname

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