小编Mar*_*oah的帖子

重命名文件以添加后缀

我需要一个命令来重命名当前工作目录中的所有文件,新文件名将与旧文件名相同,但包括与原始文件行数相对应的后缀(例如,如果文件f有 10行,则应将其重命名为f_10)。

这是我的(非工作)尝试:

 linenum=$(wc -l); find * -type f | grep -v sh | rename 's/^/ec/'*
Run Code Online (Sandbox Code Playgroud)

bash batch-rename

13
推荐指数
4
解决办法
6953
查看次数

如果目录中的文件数大于文件第一行中的数,则打印“hello”

如果当前目录中的文件数大于文件检查第一行中指定的数量,则编写打印 hello 的命令行。

这工作正常,但我想要一个命令行。有任何想法吗?

firstline=$(head -1 check)
allfiles=$(ls | wc -l)
echo $allfiles  $firstline

if (($allfiles > $firstline)); then
     echo "hello"
else 
     echo "oh no"
fi
Run Code Online (Sandbox Code Playgroud)

command-line bash

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

创建文件的总和、平均和最小值

我有这个作业问题:

创建函数 agg,第一个参数是文件名,第二个参数是 sum、avg 或 min。脚本将根据文件 (1. arg.) 中的数字计算总和、平均值或最小值(取决于 2. 参数)。仅考虑一个列文件,每行一个数字。

我想出了这个功能:

agg(){

    cat $1 | awk '{sum+=$1} END{print "sum of first column = "sum}'
    cat $1 | awk '{sum+=$1} END { print "Average = ",sum/NR}'
    cat $1 | awk 'min=="" || $1 < min {min=$1} END{ print "min="min}'

}
agg y
Run Code Online (Sandbox Code Playgroud)

我的脚本工作正常,但没有参数。我怎样才能合并这些论点?谢谢!!

bash scripts

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

标签 统计

bash ×3

batch-rename ×1

command-line ×1

scripts ×1