Linux,将文件内容与文本字符串进行比较

dav*_*vis 1 linux wget echo contain

我在使用这段linux代码时遇到了麻烦:

 FILE=$(wget 'https://dl.dropbox.com/s/ru72h4b984qpxxq/spotify.txt' -q -O -)

if [ "$FILE" == "|  |" ]
then
echo "File is a match"
Run Code Online (Sandbox Code Playgroud)

我不能说这个说法是真的.您是否介意检查网址的内容并告诉我,我是否对垂直线条或间距做错了?谢谢你的帮助.

thb*_*thb 5

@MarkB的观点很好:通常使用=单等于[].但是,在您的情况下,具体问题似乎wget是返回一个杂散的\r回车符.你可以看到这个

echo "$FILE" | hexdump -C
Run Code Online (Sandbox Code Playgroud)

假设你安装了BSD实用程序(你可能会这样做).

这是一个修复:

FILE=$(wget 'https://dl.dropbox.com/s/ru72h4b984qpxxq/spotify.txt' -q -O - | sed 's/\r//')
Run Code Online (Sandbox Code Playgroud)