计算文件名字符,然后将这些文件复制到另一个目录
Count filename characters, then copy those files to another directory
我需要编写一个 bash 脚本,将文件复制到 dir2,匹配文件名中的字符数和作为参数给出的给定 int 值剧本。我已经尝试做一些事情,但我根本无法复制文件。
read number
list=`for file in *; do echo -n "$file" | wc -m; done`
for file in $list
do
if [ $file -eq $number ]
then
cp file dir2
fi
done
在您的代码中,list
是文件名长度列表,而不是文件名。所以 $file 只是一个数字。您还错过了 $file
上的前导 $
。
你不需要使用wc
程序,你可以使用${#name}
获取变量名的长度。我想你需要这样的东西:
while [[ $number != +([0-9]) ]]
do
read -p "Enter number: " number
done
for file in *
do
if (( ${#file} == $number ))
then
cp "$file" dir2
fi
done
我需要编写一个 bash 脚本,将文件复制到 dir2,匹配文件名中的字符数和作为参数给出的给定 int 值剧本。我已经尝试做一些事情,但我根本无法复制文件。
read number
list=`for file in *; do echo -n "$file" | wc -m; done`
for file in $list
do
if [ $file -eq $number ]
then
cp file dir2
fi
done
在您的代码中,list
是文件名长度列表,而不是文件名。所以 $file 只是一个数字。您还错过了 $file
上的前导 $
。
你不需要使用wc
程序,你可以使用${#name}
获取变量名的长度。我想你需要这样的东西:
while [[ $number != +([0-9]) ]]
do
read -p "Enter number: " number
done
for file in *
do
if (( ${#file} == $number ))
then
cp "$file" dir2
fi
done