Bash unix shell:检查dir中的文件列表与文件中的文件列表

Bash unix shell:检查dir中的文件列表与文件中的文件列表,bash,shell,unix,sh,ksh,Bash,Shell,Unix,Sh,Ksh,我试图编写一个sh脚本来检查存储在文件中的文件扩展名列表中的所有文件是否都位于特定目录中的某个位置。我正在做以下工作: abc dfg hij klm xxx ... 文件名类似于yyyymmdd.ext hoff_list.lst样本如下: abc dfg hij klm xxx ... 我的剧本是: #!/bin/ksh PATH=$PATH:/usr/bin _input="/exchange/hoff_list.lst" hoffdate="20130328" hsourcedir=

我试图编写一个sh脚本来检查存储在文件中的文件扩展名列表中的所有文件是否都位于特定目录中的某个位置。我正在做以下工作:

abc
dfg
hij
klm
xxx
...
文件名类似于yyyymmdd.ext

hoff_list.lst样本如下:

abc
dfg
hij
klm
xxx
...
我的剧本是:

#!/bin/ksh
PATH=$PATH:/usr/bin
_input="/exchange/hoff_list.lst"
hoffdate="20130328"
hsourcedir="/upload_data/"
while IFS=' \t\n' read -r line; do
echo "=$line=" #first problem there
hoff_name=$hsourcedir$hoffdate"."$line
  if test ! "$hoff_name"
     then echo "$hoff_name DOES exist"
     else echo "$hoff_name does NOT exist or is empty"
  fi
done < "$_input"
如期

=abc=
=dfg=
...

看起来问题是存在的,但不知道如何处理。非常感谢您的帮助…

文件
/exchange/hoff_list.lst
有CRLF行结尾


摆脱CR。您可以尝试在大多数Linux系统上使用可用的
dos2unix
实用程序,或参考。

文件
/exchange/hoff_list.lst
具有CRLF行结尾


摆脱CR。您可以尝试使用大多数Linux系统上可用的
dos2unix
实用程序或参考。

如果您正在检查文件是否存在,我会错过
If[-f$hoff_name]
line.try echo“=${line}=”–golimar 7分钟前相同:=abc=dfg…如果您正在检查文件是否存在,我会错过
If[-f$hoff_name]
line.try echo“=${line}=“–golimar 7分钟前相同:=abc=dfg。。。