当前位置:首页 » 操作系统 » linux遍历目录文件

linux遍历目录文件

发布时间: 2023-06-06 13:11:01

A. linux shell中的遍历目录并删除目录下与目录名相同的文件

;do
if[-d/$i/$i];then
rm-rf/$i/$i
fi
done


代码如上,但如楼上所说,!慎用 !

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

大于指定时间?最简单的就是直接find里面指定吧。例如,查找当前目录及其子目录所有mtime大于1天的文件:
find /path -type f -mtime +1 即可,/path 可以换成其他路径,-mtime +1 表示时间大于1天。-1的话表示小于一天也就是1天之内的。

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

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

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

大于指定时间?最简单的就是直接find里面指定吧。例如,查找当前目录及其子目录所有mtime大于1天的文件:
find
/path
-type
f
-mtime
+1
即可,/path
可以换成其他路径,-mtime
+1
表示时间大于1天。-1的话表示小于一天也就是1天之内的。

E. linux shell中的遍历目录并删除目录下与目录名相同的文件

先设定实验环境:
#

5

目录,每个目录下,造
3

文件和两个子目录如下:
cd
$home/tmp
for
i
in
d1
d2
d3
d4
d5
do
mkdir
-p
$i
touch
$i/1.txt
$i/2.txt
$i/3.txt
mkdir
-p
$i/tmp1
$i/tmp2
done
#
检验测试环境:
$
ls
-lr
d1
total
0
-rw-r--r--
1
wenlee
comm
0
dec
22
10:35
1.txt
-rw-r--r--
1
wenlee
comm
0
dec
22
10:35
2.txt
-rw-r--r--
1
wenlee
comm
0
dec
22
10:35
3.txt
drwxr-sr-x
2
wenlee
comm
256
dec
22
10:35
tmp1/
drwxr-sr-x
2
wenlee
comm
256
dec
22
10:35
tmp2/
#
利用下列脚本来实现你要做的:
cd
$home/tmp
for
i
in
*/1.txt
do
echo
"found
$i,
save
$i
and
remove
everything
else
under
$(dirname
$i)/"
save_this_file=$(basename
$i)
curr_dir=$(dirname
$i)
#
把这个1.txt暂时存到/tmp里面去,为了避免已经有同样的档案名称在/tmp,加上$$
(i.e.
pid)
mv
$i
/tmp/${save_this_file}.$$
rm
-rf
$curr_dir
mkdir
-p
$curr_dir
mv
/tmp/${save_this_file}.$$
$curr_dir
done
#
屏幕执行输出如下:
found
d1/1.txt,
save
d1/1.txt
and
remove
everything
else
under
d1/
found
d2/1.txt,
save
d2/1.txt
and
remove
everything
else
under
d2/
found
d3/1.txt,
save
d3/1.txt
and
remove
everything
else
under
d3/
found
d4/1.txt,
save
d4/1.txt
and
remove
everything
else
under
d4/
found
d5/1.txt,
save
d5/1.txt
and
remove
everything
else
under
d5/
#
复验实验环境:
$
ls
-l
d?/*
-rw-r--r--
1
wenlee
comm
0
dec
22
10:35
d1/1.txt
-rw-r--r--
1
wenlee
comm
0
dec
22
10:35
d2/1.txt
-rw-r--r--
1
wenlee
comm
0
dec
22
10:35
d3/1.txt
-rw-r--r--
1
wenlee
comm
0
dec
22
10:35
d4/1.txt
-rw-r--r--
1
wenlee
comm
0
dec
22
10:35
d5/1.txt
ok?
thanks!

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

G. linux下遍历读取所有子目录里的特定文件,并改名复制到别的目录

find . -name a.txt -exec mv {} b.txt \; 其中find后面的"."表示从当前目录开始查找(含子目录),注意最后的“\;"是需要的。

H. Linux下怎样遍历整个目录文件

linux中有相关的API函数,可以读取目录中所有的文件名字,以及时间属性信息,你把这些信息读出来,利用各种排序算法排序就可以了

热点内容
c语言定义体 发布:2025-05-11 10:20:41 浏览:253
linuxwhichis 发布:2025-05-11 10:20:09 浏览:264
花雨庭服务器如何发消息 发布:2025-05-11 10:20:08 浏览:146
安卓系统时间在哪里设置 发布:2025-05-11 10:10:37 浏览:986
我的世界租赁服务器怎么换皮肤 发布:2025-05-11 10:09:59 浏览:949
sql插入两张表 发布:2025-05-11 09:55:33 浏览:758
日本编程语言 发布:2025-05-11 09:53:52 浏览:844
手机店设置的初始密码一般是多少 发布:2025-05-11 09:33:15 浏览:402
昂科威选择哪个配置 发布:2025-05-11 09:25:50 浏览:36
怎么解决安卓视频全屏卡顿 发布:2025-05-11 09:14:55 浏览:726