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

linux shell中的遍历目录并删除目录下与目录名相同的文件,第1张

先设定实验环境:

#

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!

     很多朋友都想知道linux如何删除指定文件?下面就一起来看看吧!

      linux删除指定文件

      1、打开linux系统,在linux的桌面的空白处右击。

      2、在d出的下拉选项里,点击打开终端。

      3、输入rm+文件名命令即可删除指定文件。

      本文章基于ThinkpadE15品牌、centos7系统撰写的。

linux系统下删除文件可以用rm命令来 *** 作即可。rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。

具体 *** 作步骤如下:

先进入linux系统终端(这里是centos系统),如下图:

我们新建一个文件备用,用touch命令来建,如下图:

查看文件,用命令find查看,如下图:

查看到文件后用命令删除此文件,即用rm命令,如下图:

再次用find命令查看,如下图:

系统提示No such file or directory,表示找不到此文件,删除成功。

扩展资料:

Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。

它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。

Linux *** 作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的 *** 作系统。

参考资料:百度百科——linux系统


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8517870.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存