中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

linux遍歷目錄命令 linux shell遍歷目錄

linux shell 命令怎么遍歷目錄

先設(shè)定實(shí)驗(yàn)環(huán)境:

成都創(chuàng)新互聯(lián)長(zhǎng)期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為雙塔企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作,雙塔網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

# 造 5 個(gè) 目錄,每個(gè)目錄下,造 3 個(gè) 文件和兩個(gè)子目錄如下:

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

# 檢驗(yàn)測(cè)試環(huán)境:

$ 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/

# 利用下列腳本來(lái)實(shí)現(xiàn)你要做的:

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)

# 把這個(gè)1.txt暫時(shí)存到/tmp里面去,為了避免已經(jīng)有同樣的檔案名稱在/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

# 屏幕執(zhí)行輸出如下:

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/

# 復(fù)驗(yàn)實(shí)驗(yàn)環(huán)境:

$ 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!

怎么使用java編程實(shí)現(xiàn)linux下所有文件目錄的遍歷

為了避免目錄列舉消耗時(shí)間過(guò)長(zhǎng),請(qǐng)指定一個(gè)目錄來(lái)模擬,命令行參數(shù):代表路徑的字符串.

如果認(rèn)可代碼,請(qǐng)加分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]));

}

}

Linux Shell:Shell循環(huán)語(yǔ)句

摘要: Linux , Shell

Shell中常用循環(huán)有 for , while

for循環(huán)只能用于 固定次數(shù) 的循環(huán),因此不能無(wú)限循環(huán)和用于一些在后臺(tái)守護(hù)進(jìn)程一直運(yùn)行的程序,語(yǔ)法語(yǔ)句如下

也可以寫(xiě)成一行,用 ; 分隔

取值列表內(nèi)元素以空格隔開(kāi),如果元素帶有空格則用引號(hào)包裹起來(lái),例子如下

輸出如下,可見(jiàn)循環(huán)到最后退出循環(huán),引用變量依舊是最后一個(gè)取值列表元素

一行的寫(xiě)法

Shell的for循環(huán)也可以采用C語(yǔ)言的寫(xiě)法,注意是 雙括號(hào) ,用 分號(hào); 間隔

一個(gè)簡(jiǎn)單例子

while循環(huán)語(yǔ)句結(jié)合條件測(cè)試使用,語(yǔ)法如下

舉一個(gè)例子

在循環(huán)中使用條件測(cè)試實(shí)現(xiàn)復(fù)雜的邏輯,例如

也可以使用,||一行完成,省去if,fi

Shell的continue,break語(yǔ)句和Python一樣,例子如下

break語(yǔ)句下輸出4

continue語(yǔ)句下輸出4 6 7 8 9 10

常見(jiàn)結(jié)合使用的循環(huán)體有 序列 , 數(shù)組 , 命令行傳參 , 文件目錄和文件

序列通過(guò) seq 命令或者 {begin..end..step} 符號(hào)進(jìn)行定義:

結(jié)合for循環(huán)使用案例

在Shell中使用小括號(hào) () 定義數(shù)組,數(shù)組遍歷使用 [@] 符號(hào),防止元素有空格用雙引號(hào)包起來(lái),,例子如下

命令行傳參遍歷使用固定符號(hào) $@ ,如果參數(shù)中有空格,用雙引號(hào)括起來(lái),例子如下

文件遍歷使用 ls 命令,可以指定目錄,以及通配符匹配

一個(gè)雙重循環(huán)實(shí)現(xiàn),注意 expr表達(dá)式中乘號(hào)要加轉(zhuǎn)移符

(2)將某目錄下大小大于閾值的文件移動(dòng)到另一個(gè)文件

遍歷循環(huán)一個(gè)目錄,使用awk語(yǔ)法獲得文件大小,將100m以上的文件移動(dòng)到另一個(gè)文件夾

(2)指定開(kāi)始日期和結(jié)束日期完成一個(gè)跑批任務(wù)

指定一個(gè)開(kāi)始時(shí)間和結(jié)束時(shí)間,while從開(kāi)始日期一直自增到結(jié)束日期循環(huán)結(jié)束,通過(guò) date -d '2021-01-01 1day' +%Y-%m-%d 自增一天

linux shell中的遍歷目錄并刪除目錄下與目錄名相同的文件

先設(shè)定實(shí)驗(yàn)環(huán)境:

#

5

個(gè)

目錄,每個(gè)目錄下,造

3

個(gè)

文件和兩個(gè)子目錄如下:

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

#

檢驗(yàn)測(cè)試環(huán)境:

$

ls

-lr

d1

total

-rw-r--r--

1

wenlee

comm

dec

22

10:35

1.txt

-rw-r--r--

1

wenlee

comm

dec

22

10:35

2.txt

-rw-r--r--

1

wenlee

comm

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/

#

利用下列腳本來(lái)實(shí)現(xiàn)你要做的:

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)

#

把這個(gè)1.txt暫時(shí)存到/tmp里面去,為了避免已經(jīng)有同樣的檔案名稱在/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

#

屏幕執(zhí)行輸出如下:

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/

#

復(fù)驗(yàn)實(shí)驗(yàn)環(huán)境:

$

ls

-l

d?/*

-rw-r--r--

1

wenlee

comm

dec

22

10:35

d1/1.txt

-rw-r--r--

1

wenlee

comm

dec

22

10:35

d2/1.txt

-rw-r--r--

1

wenlee

comm

dec

22

10:35

d3/1.txt

-rw-r--r--

1

wenlee

comm

dec

22

10:35

d4/1.txt

-rw-r--r--

1

wenlee

comm

dec

22

10:35

d5/1.txt

ok?

thanks!

網(wǎng)頁(yè)題目:linux遍歷目錄命令 linux shell遍歷目錄
標(biāo)題URL:http://m.rwnh.cn/article4/hhgpoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站、網(wǎng)站建設(shè)靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)
民丰县| 剑川县| 海原县| 宿迁市| 江川县| 阿城市| 普陀区| 沁水县| 仁布县| 武川县| 黄平县| 赞皇县| 泰安市| 微山县| 宁海县| 建阳市| 麻栗坡县| 浪卡子县| 教育| 漳浦县| 博罗县| 瑞安市| 尚义县| 徐州市| 乐安县| 阳城县| 榆林市| 永胜县| 响水县| 蒙城县| 华亭县| 开阳县| 石林| 冷水江市| 喀什市| 论坛| 全椒县| 青铜峡市| 澳门| 桃江县| 永州市|