我正在编写一个小的bash脚本,以获取每个文件名中的数字。例如,文件名将helloworld1.txt产生1。
尝试将输出设置为变量时i,每个文件都出现错误。
line 5: 985.txt: Permission denied
Run Code Online (Sandbox Code Playgroud)
如果我只是回显命令echo $f | tr -dc '[0-9]'而不是将其分配给变量,那么一切都很好。
#!/bin/bash
for f in *
do
i=`$f | tr -dc '[0-9]'` // Permission denied.
echo $i
done
Run Code Online (Sandbox Code Playgroud)
您错过了这里的回声。线
i=`$f | tr -dc '[0-9]'`
Run Code Online (Sandbox Code Playgroud)
应该
i=`echo $f | tr -dc '[0-9]'`
Run Code Online (Sandbox Code Playgroud)