A. linux平台:使用lua语言遍历某一文件夹下所有文件
你可以参考如下实例代码:functiongetFile(file_name)localf=assert(io.open(file_name,'r'))localstring=f:read("*all")f:close()returnstringendfunctionwriteFile(file_name,string)localf=assert(io.open(file_name,'w'))f:write(string)f:close()end–从命令行获取参数,如果有参数则遍历指定目录,没有参数遍历当前目录ifarg[1]~=nilthencmd="ls"..arg[1]elsecmd="ls"endprint("cmd",cmd)–io.popen返回的是一个FILE,跟c里面的popen一样locals=io.popen(cmd)localfileLists=s:read("*all")print(fileLists)whiletruedo–从文件列表里一行一行的获取文件名_,end_pos,line=string.find(fileLists,"([^]+.txt)",start_pos)ifnotend_posthenbreakend–print("wld",line)localstr=getFile(line)–把每一行的末尾1,替换为0,localnew=string.gsub(str,"1,","0,");–替换后的字符串写入到文件。以前的内容会清空writeFile(line,new)start_pos=end_pos+1end
B. linux的shell脚本中,如何通过until循环实现 当本目录下存在restart文件夹的时候进行循环呢
可以使用ls或者find来完成对某个文件夹下所有文件的遍历比如使用ls可以简单地使用一个通配符来完成ls 某个目录/*也可以使用find来完成比如find 某个目录自然的也可以写一个shell脚本来进行遍历首先进行一个要遍历的文件夹然后循环查看每个文件如果该文件是一个文件夹的话则进入该文件夹做和上面相同的事件这样就可以该整个文件夹内的所有文件进行遍历了一个简单的代码如下#!/bin/bash function show(){ cd $1 for i in `ls` do if [ -d "$i" ] then show "$i" else echo "$i" fi done cd ..}show $1exit 0该程序不能遍历以.开头的隐藏文件可以使用ls -a来进行遍历隐藏文件遍历时需要注意.和..这两个特殊文件下面是一个简单的代码#!/bin/bash function show(){ cd $1 for i in `ls -a` do if [ "$i" == "." ] || [ "$i" == ".." ] then continue; fi if [ -d "$i" ] then show "$i" else echo "$i" fi done cd ..}show $1exit 0
C. 怎么使用java编程实现linux下所有文件目录的遍历
为了避免目录列举消耗时间过长,请指定一个目录来模拟,命令行参数:代表路径的字符串. 如果认可代码,请加分50,谢谢 —- import javax.swing.*; import javax.swing.tree.*; import java.awt.*; import java.io.*; final public class FileTree extends JFrame { public FileTree(File dir) throws HeadlessException { super("File Tree"); JTree tree; add(new JScrollPane(tree =new JTree(buildTreeModel(dir)))); tree.setCellRenderer(new FileTreeRenderer()); setSize(400,600); setVisible(true); } private TreeModel buildTreeModel(File dir){ DefaultMutableTreeNode root = new DefaultMutableTreeNode(dir); walkthrough(dir,root); return new DefaultTreeModel(root); } private static void walkthrough(File f,DefaultMutableTreeNode node){ for (File fle : f.listFiles()) { DefaultMutableTreeNode n = new DefaultMutableTreeNode(fle); node.add(n); if (fle.isDirectory()){ walkthrough(fle, n); } } } private class FileTreeRenderer extends DefaultTreeCellRenderer { public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { JLabel cmp = (JLabel)super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); if (value instanceof DefaultMutableTreeNode) { DefaultMutableTreeNode n = (DefaultMutableTreeNode)value; Object obj = n.getUserObject(); if (obj instanceof File) { File f = (File)obj; cmp.setText(f.getName()); cmp.setForeground(f.isDirectory()?Color.BLUE:Color.BLACK); } } return cmp; } } public static void main(String[] args) { new FileTree(new File(args[0])); } }
D. 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
这样应该可版以吧,试试看权
E. 如何在linux中使用shell脚本遍历指定目录的文件,将创建时间大于指定时间的文件,复制到指定目录下。
#!/bin/shDIR=$1TIME=$2OTDIR=$3TMP=`find$1-mtime+$2-print`echo$TMPcp$TMP$OTDIR执行时要有3个参数指定文件的目录大于指定的时间复制到的目录没写验内证部分参数顺序不要容写错
F. linux下面如何遍历目录获取文件
遍历啥意思,获取啥意思,就是全弄走么,这个可以find 和tar组合,都提取的话,tar -czvf 备份.tgz 要提取的文件,要只找几个文件,可以先find,然后加入打包,注意压缩的话就不能追加入包了。find 位置 找啥 –exec tar -rvf 备份.tar {} \;
未经允许不得转载:山九号 » linux遍历所有文件夹|linux shell 遍历文件夹 并将结果保存 到变量