linux遍历文件内容|linux shell 遍历文件夹 并将结果保存 到变量

linux遍历文件内容|linux shell 遍历文件夹 并将结果保存 到变量的第1张示图

1. linux下面如何遍历目录获取文件

遍历啥意思,获取啥意思,就是全弄走么,这个可以find 和tar组合,都提取的话,tar -czvf 备份.tgz 要提取的文件,要只找几个文件,可以先find,然后加入打包,注意压缩的话就不能追加入包了。find 位置 找啥 –exec tar -rvf 备份.tar {} \;

2. linux下遍历文件并插入到oracle数据库,怎么做

#!/bin/bash for num in `cat aaa/*.txt`; do sqlplus 'user01/123456' << EOF insert into table1(id) values($num); quit; EOFdoneexit 0;

3. 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

4. linux查找内容命令

find,用于在文件树中查找文件并作相应的处理

-name:按照文件名查找文件

-perm:按照文件权限查找文件

-user:按照文件属主来查找文件

-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】

-group:按照文件所属的组来查找文件

-mtime<-n><+n>:按照文件更改时间来查找文件,-n表示n天之内,+n表示n天以前

-newer file1 file2:查找更改时间在file1和file2之间的文件

例如:

find -mtime -2:查找48小时修改过的文件

find -name ".log":查找当前目录以".log"结尾的文件

find /opt/soft/test -perm 777:查找指定目录下权限为777的文件

find -type f -name "*.log":查找当前目录下以".log"结尾的普通文件

find -type d | sort:查找当前所有目标目录并排序

find /home/wansw -size +20M:查找大于20M的文件

locate指令,可以快速定位文件路径,利用事先建立的系统中的所有文件名称和路径的locate数据库,无需遍历整个文件系统,查询速度较快,为了保证查询准确性,需要定期更新。《Linux就该这么学》

updatedb:第一次运行前,创建locate数据库

grep,用于过滤/搜索指定字符串。可以使用正则表达式,能配合多种命令使用。

用法:grep 【选项】 查找内容 源文件

-A:显示符合的行及之后的内容

-B:显示符合的行及之前的内容

-C:显示符合的行及前后的内容

-c:计算符合的行数目

-n:显示匹配行和行号

-i:忽略大小写

规则表达式

:'grep'表示匹配所有以grep开头的行

'表示匹配所有以grep结尾的行

.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'

:'grep'表示匹配一个或多个空格后紧跟grep的行

[]:[Gg]rep表示匹配Grep与grep

[]:[A-FH-Z]rep表示匹配不以A-F、H-Z开头并紧跟rep的行

例如(grep命令大多数时候多要和别的命令一起使用才有意义):

ps -ef | grep -c SVN:查找指定的进程的个数

cat test.txt | grep -f test2.txt:从text2.txt中读取关键字后在test.txt中搜索

cat test.txt | grep nf text2.txt:从text2.txt中读取关键字后在text.txt中搜索并显示行号

grep 'linux' text.txt test2.txt:从多个文件中搜索关键字'linux'

cat test.txt | grep -E 'ed|at':显示包含ed或at的行

5. linux用for遍历目标文件怎么做

你这是Windows的批处理脚本,不能在linux下用的

6. 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

这样应该可版以吧,试试看权

7. 怎么使用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])); } }

8. 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开始。

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

9. 如何在linux中使用shell脚本遍历指定目录的文件,将创建时间大于指定时间的文件,复制到指定目录下。

#!/bin/shDIR=$1TIME=$2OTDIR=$3TMP=`find$1-mtime+$2-print`echo$TMPcp$TMP$OTDIR执行时要有3个参数指定文件的目录大于指定的时间复制到的目录没写验内证部分参数顺序不要容写错

未经允许不得转载:山九号 » linux遍历文件内容|linux shell 遍历文件夹 并将结果保存 到变量

赞 (0)