小编Aas*_*Raj的帖子

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

在脚本中重定向的输出:

$ 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)

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

awk shell-script text-processing

5
推荐指数
1
解决办法
2万
查看次数

使用单行命令更改多个文件扩展名

我有一些文件名包含多个扩展名:

$ ls -r
File1_345.R.12345
File1_3.234.R.6789
File1_2345.R.2345
File1_12345.R.12345
$
Run Code Online (Sandbox Code Playgroud)

我想重命名它们以删除所有现有的扩展名并将它们替换为.txt. 输出应如下:

$ ls -r
File1_345.txt
File1_3.txt
File1_2345.txt
File1_12345.txt
Run Code Online (Sandbox Code Playgroud)

是否可以使用 find 和 xargs 命令?

find xargs filenames mv

1
推荐指数
1
解决办法
359
查看次数

标签 统计

awk ×1

filenames ×1

find ×1

mv ×1

shell-script ×1

text-processing ×1

xargs ×1