① linux 利用for循环将当前目录下的.c文件移到指定的目录下,并按文件大小顺序,显示移动后指定目录的内容
#!/bin/bashecho -n "请输入目标目录位置:"read dirfor i in `ls | grep -E "*\.c"`domv $i $dirdonels -lS $dir
② linux编程用for循环列出当前目录的每一个一级子目录中所有文件在线等😭😭
列文件名,除了ll还可以find,当然作业的话……忽略。
③ linux用for遍历目标文件怎么做
你这是Windows的批处理脚本,不能在linux下用的
④ linux 如何循环,迭代一个目录.判断一个文件是否具有某种属性
foriin`ls/*`doOWNER=`ll$i|awk'{print$3}'`if[OWNER==root]thenecho"OWNERisroot"fidone
判断当前目录下的文件所有者是否是root
楼主是这个意思吗?
⑤ linux下面如何遍历目录获取文件
遍历啥意思,获取啥意思,就是全弄走么,这个可以find 和tar组合,都提取的话,tar -czvf 备份.tgz 要提取的文件,要只找几个文件,可以先find,然后加入打包,注意压缩的话就不能追加入包了。find 位置 找啥 –exec tar -rvf 备份.tar {} \;
⑥ Linux shell脚本for循环中in的[数据列表]从文件中取得
for i in $(cat test)可以试试看, for之前可以指定分隔符号.另外一般用 while read 读取文件还有其实上面两种都内不好, 现在主流容的做法还是awk和sed处理文件, 功能强 安全
⑦ linux for循环 带空格的文件名
for循环在读入的时候是从一个大字符串中进行分割,而分割的标识是IFS,IFS默认分隔符是空格\tab\换行,所以会将换行符和空格同样对待,所以需要更改IFS的分割标志.解决方案:添加代码OLDIFS=$IFSIFS=$'\n'IFS=$OLDIFS123注意: 这里将IFS的分割标志换成了 $’\n’ 换行符,如果写成’\n’仅仅表示字母n 《Linux就该这么学》一起学习linux结果: 每一次for循环能够得到正确的文件名,但是在执行mv命令时依然报错,原因是文件名中有空格,不能找到正确的文件
⑧ 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开始。
其他文件可作相同处理。如果文件较多,你可以搞个循环去做。这个应该不难。
⑨ linux shell 遍历文件夹 并将结果保存 到变量
#!/bin/bash(($#<1))&&echo"paramiszero!"&&exit1[!-d$1]&&echo"$1notpath"&&exit1dir=$1dir_p="$dirDirectory:"cd$dirdir=`pwd`foriin`ls$dir`doif[-d$i];then/tmp/sh/dir_file$i#我的脚本文件在/tmp/sh中,需要改一下这里elsedir_p="$dir_pFile$i"fidonecd..echo$dir_p
实验结果:
[[email protected] sh]# ./dir_file /tmp/python/
python_2 Directory : File 1.log File 2.log
python_3 Directory : File 3.log
/tmp/python/ Directory : File p File t.py File y.py
这样应该可版以吧,试试看权
未经允许不得转载:山九号 » linuxfor遍历文件|linux shell 遍历文件夹 并将结果保存 到变量