linux bash 编程
发布网友
发布时间:2023-04-10 15:24
我来回答
共3个回答
热心网友
时间:2023-10-08 04:25
#!/bin/bash
dirname='/home/flycat'
#wav文件所在的目录
cpdir='/home/wav'
#要cp文件的上级目录,比如我要在这个目录下按照前4位数建立文件名
cd $dirname
#进入wav文件所在目录
filename=(`ls | sed -rn 's/([0-9]*)_(.*)$/\1/p' | sort -u`)
#截取wav文件_前的数字,我是按照_前面数字不一定是4位,有可能是多个写的。所以就算
#以后你前面的数字超过4位,也可以匹配到,提取_前面的数字并去重,并复制给filename这个数组
for i in {filename[*]};do
#依次代入数组的元素
mkdir ${cpdir}/${i}
#按照元素创建文件名
ls ${i}* | xargs -i cp {} ${cpdir}/${i}
#按照元素名进行cp
done
#脚本没测试,自己按照自己的需求在改改吧。
#大概就是这个意思,你自己在修改一下吧。追问大哥
filename=(`ls | sed -rn 's/([0-9]*)_(.*)$/\1/p' | sort -u`)
#截取wav文件_前的数字,我是按照_前面数字不一定是4位,有可能是多个写的。所以就算
#以后你前面的数字超过4位,也可以匹配到,提取_前面的数字并去重,并复制给filename这个数组
我这个地方不太明白 !我测试了一下有点问题!
追答
有什么问题,你得吧问题说出来呀。或者你切个图给我,我看看具体什么情况。
我这边简单测了一下这条语句,木有问题。
热心网友
时间:2023-10-08 04:26
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Error! Folder path is required as an argument."
exit 1
fi
folders=`ls $1|awk -F_ '{w[$1]+=1}END{for(a in w)print a}'`
for num in $folders
do
mkdir $num
echo "Copying ${num}_* ..."
cp $1/${num}_* $num
done
echo "Done!"
exit 0
# --------------------------------------------------------------------
上述脚本sort.sh测试通过。
说明:
1)运行脚本时要带一个参数,此参数就是你那个存放很多wav文件的目录。
2)脚本本身不放入存放wav文件的目录,另外存放,可以是跟此目录平级。
3)由于要求没指明创建文件夹的位置,我自作主张创建在脚本所在目录下。
热心网友
时间:2023-10-08 04:26
看得我有点纠结,你是打算怎么放啊,是.wav放一个文件夹还是对应各放各的。。。。。
Linux编程基础知识进阶篇(指令)
<<-EOF EOF 编写一个简单的bash档如下:我们可以看到用./执行bash档时,没有进入到/home目录下,这种我们称为 在子shell中执行 ,其不影响当前shell的状况(有时候执行成功没有效果的原因)。但是无论是. 执行还是source执行我们都成功进入了home路径下,这我们称之为 在当前shell执行 su nologin...
linux的shell编程中#!/bin/sh和$bash是什么意思
! /bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。$bash $表示系统提示符,$ 表示此用户为普通用户,超级用户的提示符是#。bash是shell的一种,是linux下最常用的一种shell。$bash的意思是执行一个子shell,此子shell为bash。要注意,在每...
关于linux下bash编程中expr命令问题
应该改成:a=2 b=3 c=`expr $a + $b`//`是Tab上面的那个按键,意思在这行里面两个``之间的命令最先执行 echo $c 你还可以用这种方面来计算:a=2 b=3 c=$(($a+$b))echo $c 解释一下:$((里面能进行运算))
Bash编程013——环境变量
登录Linux系统是,bash作为登录shell启动。登录shell会一次从以下几个启动文件中读取命令。/etc/profile文件是系统上默认的bash shell的主启动文件。系统上的每个用户登录时都是执行这个文件。注意: 某些Linux发行版使用了可拆卸式认证模块(PAM)。这时,PAM文件会在bash启动前处理,这些文件可能会包含环境变...
linux下的编程,用什么语言的最多?
由此看来,在linux里编程:1. 接近系统的软件开发必然是C;2. 系统关联不大的应用程序开发可以用C或C++;3. 动态网页方面可以用perl或python脚本语言或java;4. 日常管理上,当然是bash!5. 做GUI界面开发的话,很多人用GTK,也有很多人用Qt;因此,说C是linux编程的主流一点都不过分。这也是linux...
在linux shell(bash)编程中的打印命令是什么?
linux中的打印意思是显示在什么地方,一般使用 echo ,print 都可以 如果是输出到打印机, linux打印是由一个打印服务来完成打印的。你可以把打印任务添加到打印服务中去,进入队列,然后进行打印。lp + 文件名 就是添加打印任务了 lpstat 可以查看打印机的队列状态 还有很多命令可以通过man仔细查看 ...
linux bash是什么意思?
系统管理:系统管理员可以通过Linux Bash进行资源的管理、进程的监控、用户的管理等操作。脚本编程:开发人员可以通过编写脚本实现批量处理等自动化操作,提高效率。网络管理:Linux Bash可以通过编写脚本完成网络管理,包括数据通信、协议处理、连接管理等。4. 监控报警:通过Linux Bash编写脚本,可以实现监控报警...
bash是什么
2. 脚本执行:用户可以将一系列命令保存为脚本文件,并通过Bash来执行这些脚本。3. 丰富的命令和选项:Bash支持大量的命令和选项,使用户能够执行各种复杂的任务。4. 可编程性:Bash具有编程语言的特性,如条件语句、循环、函数等,这使得用户可以编写复杂的脚本和程序。Bash的应用场景:在Unix和Linux系统...
关于linux下的shell编程问题
1.!/usr/bin/bash date if [ "$1" -ne null ]then who | grep "$1" > /dev/null && echo "$1 has logged on"mail $1 exit 0 fi 2. alias fire="./fire.sh"!/usr/bin/bash echo $(date)echo $(pwd)who | wc -w 3. @City = qw/Sydney Osaka Beijing.../ for($i=...
linux/bin/bash是什么意思
3. 功能和用途: `linux/bin/bash`的主要功能是接收用户输入的命令并运行,同时也支持编程。通过bash,用户可以运行程序、管理文件和目录结构、创建和执行shell脚本等。它还提供了丰富的内置命令和工具,使得系统管理和开发变得更加便捷。此外,bash还具备许多高级特性,如条件测试、循环和函数等,这使得它...