gpt4 book ai didi

bash - 无法在变量中修剪\r

转载 作者:行者123 更新时间:2023-12-02 04:21:07 24 4
gpt4 key购买 nike

我从远程目录获取文件列表。现在我想知道这些文件是否存在于本地目录中。我的问题是,每个文件名的字符串中的 \r 是不可修改的。我之前在第 4 行做过,它成功了。

numOfRemoteFiles=`expect countRemoteFiles.sh $user $remotedir $password $N | 
tail -1 | tr -d '\r'`
numOfRemoteFiles=$((numOfRemoteFiles-1))
for remotef in `expect forLocalDir.sh $user $remotedir $password $N | tail -n$numOfRemoteFiles`
do
remotef=${remotef##*/}
remotef=$remotef | tr -d '\r'
if [ ! -f $localdir/$remotef ]; then
expect receiveFile.sh $user $localdir $remotedir $password $N $remotef
fi
done

我用 ascii 和 hex 打印了文件名,结果是这样的:

test1.txt
0000000 74 65 73 74 31 2e 74 78 74 0d 0a
0000013
test2.txt
0000000 74 65 73 74 32 2e 74 78 74 0d 0a
0000013
test3.txt
0000000 74 65 73 74 33 2e 74 78 74 0d 0a
0000013

最佳答案

这不符合您的预期:

remotef=$remotef | tr -d '\r'

你的意思可能是:

remotef=$(echo "$remotef" | tr -d '\r')

关于bash - 无法在变量中修剪\r,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30401720/

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