当前位置:首页 » 文件管理 » shellforin文件夹

shellforin文件夹

发布时间: 2023-09-05 07:10:19

① shell怎么遍历一个文件夹下所有文件

# find . -type f
./a
./normal/log-1
./normal/log-2
./normal/log-3

通过find找到文件
那么遍历就用循环
for i in `find . -type f`
do
echo $i

done

② 用shell脚本中删除某文件夹下的七天之前生成的文件夹

oldDate=$(date-d"-7days""+%Y%m%d")。

cdyourFolder#这里写你的文件夹路径。

forfolderin$(ls-d*/)。

do。

[${folder%/*}-lt$oldDate]&&rm-rf$folder。

done。

(2)shellforin文件夹扩展阅读:

打开文本编辑器(可以使用vi/vim命令来创建文件),新建一个文件test.sh,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意咐梁就好袭租,如果你用php写shell 脚本,扩展名就用php好拍简兆了。

输入一些代码,第一行一般是这样:

#!/bin/bashecho"HelloWorld!"

"#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。

echo命令用于向窗口输出文本。

③ Shell获取某目录下所有文件夹的名称

方法有三,如下:

④ 请教大神shell的for in语句中怎么使用多个变量

1、遍历按空格分隔的字符串:

#!/bin/bash

servers="abc123 das 222"

for server in$servers

do

echo$server

done

2、遍历字符串行表、用空格分隔:

#!/bin/bash

for server in a b c

do

echo$server

done

3、遍历参数列表:

#!/bin/bash

for arg in $*

do

echo$arg

done

4、遍历文件目录:

#!/bin/bash

for i in ~/*.sh

do

echo$i

cat$i

done

注:$i是整个目录和文件,for in语句也可以与` `和$( )配合使用,例如:

#!/bin/bash

for i in $(ls~/*.sh)

do

echo$i

cat$i

done

(4)shellforin文件夹扩展阅读:

LInux shell之(for in)用法总结

一、语法

for 变量名 in 列表 do 程序段(command) done

注意1:是变量名而不是$变量!

注意2:列表可以做文章!

二、应用

第一类:数字性循环-->seq在in后面的应用

#!/bin/bash

#也是产生等差数列-->默认是1

for i in $(seq 1 10)

#产生的是一个字符串,默认IFS是以空格隔开!

do

echo $(expr $i * 3 + 1);

#主要是复习:expr乘法的特殊用法!-->空格隔开

done

补充:产生[1,10]的自然数-->{}在in后面的应用

total=0

#全局变量for i in {1..100} #".."表示连续,默认也是IFS为空格隔开

do

((total+=i))

doneecho -e "total is:${total}"

#多行注释

<<COMMENRfor i in mysql_{0,1,4,12}sql

#多个文件

do

echo $i

samtools view -c $i

doneCOMMENT

第二类:字符性循环

最原始的

#!/bin/bash

#使用列表for循环显示周一到周日对应的英文-->学习日期的英文

for day in Monday Tuesday Wednesday Thursday Friday Saturday Sunday

do

echo "$day"

done

变量的类型

#!/bin/bash

list="Linux Java C++ Python"

for

i in $list

do

echo -e "Language is ${i}"

done

cat

在in后面的应用-->逐行读取文件的内容(默认是IFS),所以不是逐行打印。

#!/bin/bashfor

in $(cat 日志颜色.sh)

#注意:pwd当前目录下的文件

do

echo $i

done

第三类:路径查找

ls在in后面的命令是-->读取当前pwd下的文件(广义上)。

#!/bin/bash

for i in `ls`;

#ls可以结合统配符应用

do

echo $i is file name! ;

#注意:的应用

done

用通配符读取目录(无命令)

for

file in ~/*;

#一级目录下的内容-->并不递归显示

do

echo $file is file path ! ;

#${file}代表的是文件的全路径

done

通过脚本传参

#!/bin/bash

#回忆1:统计脚本参数的个数echo "argument number are $#"!

#回忆2:参数的内容-->此处可以换成$@来测试!

echo

"the input is $*"

#循环执行

for argument in "$*";

do

echo

"$argument "

done

热点内容
ip跨网段访问 发布:2025-01-31 02:44:42 浏览:708
算法带头人 发布:2025-01-31 02:42:25 浏览:551
方舟上传数据 发布:2025-01-31 02:42:25 浏览:835
铃木uy比uu多了什么配置 发布:2025-01-31 02:34:11 浏览:676
虾米音乐缓存文件夹 发布:2025-01-31 02:34:04 浏览:886
主播用什么我的世界启动器玩服务器 发布:2025-01-31 02:32:37 浏览:643
做电脑硬件需要哪些配置 发布:2025-01-31 02:30:53 浏览:439
小米智能门锁验证密码是多少 发布:2025-01-31 02:30:50 浏览:533
oracle和sql区别 发布:2025-01-31 02:27:40 浏览:241
汽车网源码下载 发布:2025-01-31 01:58:30 浏览:100