当前位置:首页 » 文件管理 » shell读取文件夹

shell读取文件夹

发布时间: 2022-03-12 04:15:41

㈠ 在windows中用shell遍历一个文件夹下得所有文件并对文件执行同一个指令

你的for循环中循环的是$PATH ,他只是代表这个路径,并不表示里面的文件名。

㈡ 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

linux shell遍历当前文件夹中的txt文件并处理生成新的文件

先以a.txt为例:

awk-vRS=""'{
n=split($0,a,"《[^》]+》");
for(i=2;i<n;i+=2)
print"《keywords》"a[i]"《/keywords》"
}'a.txt>>./newfile/a.txt

这样就行了。

为了可读性,我将一条awk语句写成了多行。

实际测试结果如下:

解说:

RS=""

将awk的记录分隔符设置为空(默认是换行符),即将整个a.txt文本看做一条记录。

n = split($0,a,"《[^》]+》");

以正则"《[^》]+》"匹配的内容作为分隔符,对文本内容进行分割并将分割结果存入数组a,分割出的数目(数组大小)即为split函数的返回值n。这里暂且不对该正则做过多解释,否则喧宾夺主,有需要请追问,我再补充。

for(i=2;i<n;i+=2)
print "《keywords》"a[i]"《/keywords》"

打印数组下标为偶数的元素并在首尾分别加上关键字标记以还原。数组下标从1开始。

其他文件可作相同处理。如果文件较多,你可以搞个循环去做。这个应该不难。

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

方法有三,如下:

㈤ shell脚本,获取目录的结构,保存到文件

使用递归的shell脚本没有find效率高。find 是为目录搜索而优化过的程序。

#!/bin/bash
DIR="$1"
if [ -z "$2"] ;then
echo "must set 2st argument for output file ." >& 2
exit 1
fi
OUT="$2"
DIR=$(readlink -m "$DIR")
#转换成绝对路径
find "$DIR" -type "d" >"$OUT"
#搜索目录保存到输出文件。

㈥ linux shell 查找特定文件夹下,第一级目录,最新生成的文件夹

ls -alt #文件夹名#,这个是降序排列,如果要找最新的,补上管道符号就成了
ls -alt #文件夹名# | head -n 5 ##列出的是最新改动的四个,第一行记录总用量,所以只有4个

㈦ shell怎么读取文件夹中的文件名

#!/bin/bash
forfilein`lsfolder`
do
echo$file
done

文件夹名换成实际地址,

file变量有可能是子文件夹,处理前需要进行判断

㈧ linux shell如何获取最新修改的文件或者文件夹

mmin过去几分钟前修改、创建的文件,(-n)为几分钟内

㈨ Shell脚本得到文件夹大小

ls -ld 文件夹路径 | awk '{print int($5/1024)}'
或者:
-b 文件夹路径 | awk '{print int($1/1024)}'

跟你上面计算文件大小类似,得到的都是以KB为单位的大小。
如果要以Byte为单位,不要除以1024也不要int取整就是了。

注意:Linux的ext2或ext3文件系统会给目录分配一个inode块(索引节点),用来记录文件信息,所以文件夹的大小不是简单地将其中文件大小累加就能得到的,还包括了这个索引节点的大小。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。

㈩ 如何用shell获取linux目录下的文件名

获取所有常规文件的文件名并打印出来的脚本listfile.sh如下

#!/bin/bash

dir="/*"
dir=$1$dir
for f in $dir
do
if [ -f $f ]
then
echo $f
fi
done

使用方法:
$ listfile.sh PATH

原理:
PATH参数是路径,将路径后加上“/*”,代表该目录下的所有文件和目录名,利用for循环比较每个文件是否是常规文件( -f比较运算符),若if表达式为真则打印

举例:
ls -l
total 36
-rwxrwxr-x 1 lipeng lipeng 48 Nov 29 20:08 aaa.sh
drwxrwxr-x 2 lipeng lipeng 4096 May 4 2015 byteorder
drwxrwxr-x 8 lipeng lipeng 4096 May 3 2015 hello
-rwxrwxr-x 1 lipeng lipeng 122 Nov 29 20:16 listfile.sh
-rw-rw-r-- 1 lipeng lipeng 177 Aug 1 03:10 main.cpp
drwxrwxr-x 2 lipeng lipeng 4096 Sep 13 16:42 matrix
drwxrwxr-x 5 lipeng lipeng 4096 Apr 28 2015 modbus
drwxrwxr-x 2 lipeng lipeng 4096 Sep 13 10:10 shtest
drwxrwxr-x 2 lipeng lipeng 4096 Sep 16 18:21 test

$ ./listfile.sh .
./aaa.sh
./listfile.sh
./main.cpp

热点内容
如何在设置看见自己修改的密码 发布:2024-10-30 09:25:29 浏览:808
v8引擎可以编译js 发布:2024-10-30 09:24:43 浏览:277
智能锁默认管理员密码是多少位 发布:2024-10-30 09:23:53 浏览:927
oss图片压缩 发布:2024-10-30 09:07:58 浏览:85
从哪里看安卓编译脚本变量定义 发布:2024-10-30 08:58:53 浏览:56
压缩器波形 发布:2024-10-30 08:58:11 浏览:307
哪个三维软件要求电脑配置比较低 发布:2024-10-30 08:50:56 浏览:1000
防爆系统的wifi密码是多少 发布:2024-10-30 08:47:25 浏览:285
安卓日语输入法怎么用 发布:2024-10-30 08:44:09 浏览:111
sqlserver的len 发布:2024-10-30 08:41:24 浏览:850