错误:将输出传输到命令时重定向不明确

Aas*_*Raj 5 awk shell-script text-processing

在脚本中重定向的输出:

$ ls -ltr |awk '{print $9}'

default.txt
dfah.txt
fruit.txt
fruit_prices.txt
dfh.txt
header.txt
testfile.txt
topoutput.txt
Run Code Online (Sandbox Code Playgroud)

在 shell 上编写的脚本:

while read line
do 
var=`sed -e 's/\.txt/txt\.txt/' $line`
 echo $var
 done < `ls -ltr |awk '{print $9}'`
Run Code Online (Sandbox Code Playgroud)

出现错误:

-bash: `ls -ltr |awk '{print $9}'`: ambiguous redirect
Run Code Online (Sandbox Code Playgroud)

专家可以帮我看看上面的代码中如何发生不明确的重定向吗?

Arc*_*mar 4

尝试

ls -ltr |awk '{print $9}' | while read line
do 
  var=`sed -e 's/\.txt/txt\.txt/' $line`
  echo $var
done 
Run Code Online (Sandbox Code Playgroud)

你发出了这样的命令

while read line ; do
  ...
 done < a b c d
Run Code Online (Sandbox Code Playgroud)

无法解析的