我需要在文件夹中找到最大的文件。
如何递归扫描文件夹并按大小对内容进行排序?
我试过使用ls -R -S
,但这也列出了目录。
我也尝试使用find
.
如果数字是有效的十位数字,我有一个函数返回 1:
valNum()
{
flag=1
if [[ $1 != [1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]]; then
echo "Invalid Number"
flag=0
fi
return $flag
}
Run Code Online (Sandbox Code Playgroud)
它被称为:
if [[ $(valNum $num) -eq 1 ]]; then
#do something
fi
Run Code Online (Sandbox Code Playgroud)
如果数字有效,该函数工作正常,但如果输入无效数字,则显示语法错误。
我已经看到有时:q
有效,但有时我们必须使用:q!
. 许多命令都是这种情况。我想知道!
in的一般用途是什么vim
以及何时使用它。我试图用谷歌搜索这个,但似乎搜索省略了感叹号。
我有以下一段代码:
sum1=
sum2=
declare -a a
echo $temp | awk '{split($0,a,","); name=a[1] ; for(i=2;i<=4;i++) sum1+=a[i] ; for(i=5;i<=7;i++) sum2+=a[i] }'
Run Code Online (Sandbox Code Playgroud)
此代码不起作用。这里 temp 是一个字符串类型:
abc,1,2,3,4,5,6
Run Code Online (Sandbox Code Playgroud)
实际上我正在解析文件中的数据。输入文件是这样的:
abc,1,2,3,4,5,6
de,3,5,7,8,4,2
xyz,6,5,3,7,8,2
Run Code Online (Sandbox Code Playgroud)
我正在阅读它
while read temp
do
#do something
done < sample.csv
Run Code Online (Sandbox Code Playgroud)
预期输出的形式为:
Name Sum1 Sum2
abc 6 15
de 15 14
xyz 14 17
Run Code Online (Sandbox Code Playgroud) 我有一个文件 out.csv 我必须检查用户输入的名称是否存在于文件中(逗号分隔)。我正在使用 read 取名,但在检查相等性时出现错误
IFS=","
while read tname tnum
do
if [ $tname -eq $name ]; then
flag=1
break
fi
done < out.csv
echo "$ch"
Run Code Online (Sandbox Code Playgroud) bash ×3
shell-script ×3
scripting ×2
awk ×1
command-line ×1
find ×1
ls ×1
shell ×1
vi ×1
vim ×1