gpt4 book ai didi

bash - 删除 bash 脚本中的回车符,或在使用 mv/mkdir 时忽略它

转载 作者:行者123 更新时间:2023-11-29 09:32:17 25 4
gpt4 key购买 nike

我正在尝试从来自 grep'ing 的变量创建一个目录,但它一直失败,告诉我在没有回车的地方有回车。我试过 dos2unix,它告诉我这是一个无效文件。我在 ubuntu 10.10 上使用 gedit 和 unix 行结尾创建了脚本。

我还尝试将 cat 文件的输出通过管道传输到

tr -d '\r'

那不行。

这是脚本中失败的部分:

ARTIST=`cat read | grep DTITLE | cut -c8- | cut -d"/" -f 1`
ALBUM=`cat read | grep DTITLE | cut -c8- | cut -d"/" -f 2 | awk '{gsub(/^[ \t]+|[\t]+$/,"")};1'`
mkdir $DEST/"$ARTIST"
cd $DEST/"$ARTIST"
mkdir "$ALBUM"
mv $DEST/temp/*.flac $DEST/"$ARTIST"/"$ALBUM"/

以及我收到的错误:

mv: target `Hard\r' is not a directory

这是它从中“读取”的文件:

macmini:~/Dropbox/bin$ cat ~/Desktop/temp/read
210 folk 0d021f02 CD database entry follows (until terminating `.')
# xmcd CD database file
#
# Track frame offsets:
# 150
# 13002
#
# Disc length: 545 seconds
#
# Revision: 0
# Processed by: cddbd v1.5.2PL0 Copyright (c) Steve Scherf et al.
# Submitted via: CDex 1.50Beta7
#
DISCID=0d021f02
DTITLE=Cursive / Art is Hard
DYEAR=2003
DGENRE=Indie
TTITLE0=Art is Hard
TTITLE1=Sinner's Serenade
EXTD= YEAR: 2003
EXTT0=
EXTT1=
PLAYORDER=
.

此时我有点迷茫。回车从哪里来?

最佳答案

我认为它来自读取的文件。在该文件上运行 dos2unix

但是,此错误消息强调了另一个问题:mv 误解了您提供的内容,因为它认为 的目标太短。我猜你没有正确引用包含空格的文件路径。尝试用双引号将整个论点括起来,而不仅仅是它的组成部分。

关于bash - 删除 bash 脚本中的回车符,或在使用 mv/mkdir 时忽略它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5688805/

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