1

我有一个脚本可以查看这样的文件:

for item in `more $dir_tmp/$lcl_ident_cnl.root.tmp`
    do
        txtPos=`expr index "$item" "."`
...

这让我想起了这个:

+ more /gcamp/dbm/processos/temp/tlv.root.tmp
+ expr index :::::::::::::: .

但是,这个文件实际上包含“wca”:

$ for item in `cat tlv.root.tmp`
> do
>  echo "${item}"
> done
wca

这个文件的编码是

$ file tlv.root.tmp
tlv.root.tmp: ASCII text

为什么它检索::::::::::::::而不是wca

4

2 回答 2

1

这些冒号字符看起来很可疑,就像在等待您的命令时提示more(1)给您的一样。

像这样的程序more不打算编写脚本,也许您应该cat在两个脚本中使用。

于 2013-03-08T18:59:54.477 回答
1

一个更好的方法可能是

while read -r item
do
  txtPos=`expr index "$item" "."`
done < "$dir_tmp/$lcl_ident_cnl.root.tmp"

谢谢chepner

于 2013-03-08T19:00:58.207 回答