`

批量重命名的一个shell脚本,仅限当前目录------写得有些繁琐

阅读更多

实现某类文本文件的重命名,作为练习。Ubuntu 8.04.4上测试通过。

#!/bin/bash
# Rename_OnlyOneDirectory.sh
# 问题描述:
# 某目录中出现一些以“;1”结尾的文本文件名,编写shell脚本,
# 以去除仅当前这个目录中该类文件名中结尾部分的“;1”。

# COUNT用于计数,错误输入的情况下,默认为允许3次尝试。
COUNT=0
while [ $COUNT -lt 3 ]
do
	echo  "请输入要重命名的文件所在目录的路径:"
	read PATH

	if [ -d $PATH ]
	then
		cd $PATH
		# NUM代表符合条件的、可重命名的文件数。
		NUM=`/bin/ls -l | /bin/grep ^-.*\;1$ | /usr/bin/wc -l`
		echo "当前目录中需要重命名的文件有:$NUM 个"

		# 如果NUM为0,说明无需重命名操作,退出。
		if [ $NUM -eq 0 ]
		then
			echo "无需重命名,退出。"
			exit
		fi

		# 列出符合条件的、要重命名的文件,然后进行重命名操作。
		for loop in `/bin/ls -l | /bin/grep ^-.*\;1$|/usr/bin/awk '{print $8}'`
		do
			echo "$loop"
			# 进行重命名操作。如果出错,则输出错误信息到相应文件。
			/bin/mv $loop `echo -n $loop | /bin/sed 's/\;1//'` 2>/tmp/`/usr/bin/basename $0`_error.log
		done

		echo "重命名完成!"
		
		TOTAL=`/bin/ls -l|/bin/grep ^-|/usr/bin/wc -l`
		echo "当前目录中的普通文件有:$TOTAL 个"
		/bin/ls `/bin/ls -l|/bin/grep ^-|/usr/bin/awk '{print $8}'`

		exit
	else # 输入的路径并非代表目录。
		if (($COUNT<2))
		then
			echo "输入的路径错误,请确认后输入。"	
		else
			echo "尝试次数过多,退出。"
		fi
	fi
	
	# 计数器COUNT加1。
	COUNT=$[$COUNT+1]
done

 

实验环境:Ubuntu 8.04.4    Bash

联系方式:qq_81064483, emial_AllenNewOK@126.com

本文遵循GNU协议,不足之处,敬请指出,谢谢

0
1
分享到:
评论
2 楼 AllenNewOk 2010-12-15  
wiesin 写道
不错,正想找些bash代码研究研究呢,毕竟要学以致用嘛

谢谢!
1 楼 wiesin 2010-12-14  
不错,正想找些bash代码研究研究呢,毕竟要学以致用嘛

相关推荐

    Linux 下 tomcat war 自动部署脚本

    本文将深入探讨如何在Linux环境下使用Tomcat和shell脚本来实现WAR文件的自动部署,同时覆盖到配置文件的备份与复制。这个主题对于系统管理员和开发人员来说至关重要,因为它能够减少手动操作的繁琐,确保应用程序的...

    批量修改文件名 修改文件名

    - Bash/Shell脚本:在Linux或macOS中,可以通过编写简单的脚本来完成批量重命名。 4. **批量修改文件名的规则**: - 替换:替换文件名中的特定字符串。 - 添加/删除前缀或后缀:在文件名前后增加或去除固定字符...

    拿shell工具

    例如,你可以创建一个脚本来遍历目录结构,查找特定类型的文件,然后对这些文件进行操作,如重命名、移动、复制或者执行其他自定义功能。 批量操作的关键在于理解Shell的语法和内置命令。以下是一些基本概念和常用...

    vss批量analyze,很好用的!

    - `Analyze` 是 VSS 提供的一个命令行工具,用于检查项目中的文件是否存在潜在的问题。通过运行此命令,开发者可以快速地识别出代码中可能存在的错误或者不符合规范的地方。 - `Analyze` 命令通常用于单个项目中,...

    shell 学习

    通过将这些步骤写入Shell脚本,用户可以一键完成配置,省去手动操作的繁琐。 此外,标签"源码"暗示了可能会涉及解析或操作代码文件,而"工具"可能是指利用Shell命令处理或管理各种工具的配置。在开发过程中,熟练...

    linux-BashSnippets为重度终端用户提供的小型bash脚本集合

    Bash-Snippets则将这些常用且实用的功能封装成一个个独立的脚本,使得用户无需从头编写代码,只需调用相应的脚本即可完成特定任务。 这个项目由Alexander Epstein创建并维护,最新版本为bb21030。其包含了多个功能...

    utility_shell:有用的脚本

    例如,你可以创建一个脚本来批量重命名文件、监控系统资源、备份数据,甚至进行网络通信。 在"utility_shell-master"这个压缩包中,我们可以期待找到多种不同用途的Shell脚本。可能包括但不限于系统维护脚本(如...

    批量修改文件名

    通过编写批处理脚本或shell脚本,可以实现更复杂的重命名逻辑。 5. 脚本编程:对于高级用户,可以通过编程语言(如Python、Perl、Bash等)编写脚本来实现批量修改文件名。这种方式灵活性极高,可以根据实际需求编写...

    script-export-files-from-directory:将所有文件从打字稿项目目录导出到该目录中的index.ts的脚本

    在这个场景中,`script-export-files-from-directory` 可能是用 Bash 或其他 Shell 脚本语言编写的一个程序,它可以遍历指定目录,读取所有文件,并根据一定的规则(如按文件类型或文件名)将它们的内容整合到 `...

    wb-shell-scripts:单个文件shell,perl脚本和其他实用程序的有用集合

    wb-shell-scripts 是一个集合,包含了各种单个文件的shell脚本和Perl脚本,这些脚本和实用程序设计用于提高日常Linux或Unix系统的管理效率。这个集合中的工具通常小巧、便携,不需要额外的依赖安装,可以直接在...

    genesis层命名

    "new_rename.csh"可能是一个C-shell脚本,用于自动化Genesis中的层命名过程。在Unix或类Unix操作系统中,shell脚本可以用来自动化一系列命令,提高工作效率。这个脚本可能包含一系列指令,如读取层信息、根据预定义...

    linux系统脚本

    在给定的文件列表中,我们看到的是一些项目管理和开发相关的文件,这可能是一个Java Web项目的目录结构。以下是这些文件在Linux系统脚本中可能涉及的知识点: 1. **.project**:这是Eclipse IDE的工作空间项目配置...

    ssh工具 BvSshClient-Inst.zip 连接服务器工具,服务器文件传输工具

    BvSshClient-Inst内置了文件传输功能,支持SFTP(SSH File Transfer Protocol),可以安全地进行文件和目录的上传、下载、移动、重命名等操作,这对于开发和测试人员来说尤其实用,无需额外的FTP或SCP工具。...

    convert-db-to-csv:convert-db-to-csv.sh是一个外壳脚本,使用SQLite3将.db文件转换为.csv文件。 它将数据库中的每个表转换为csv文件

    convert-db-to-csv.sh脚本是一个基于Bash的实用工具,它利用SQLite3命令行工具来操作.db文件。SQLite3是一款轻量级的、无服务器的、自包含的SQL数据库引擎,广泛应用于各种嵌入式系统和桌面应用中。其数据库文件可以...

    WinSCP-5.9.3-Portable

    **WinSCP-5.9.3-Portable** 是一个便携版的WinSCP软件,它在Windows操作系统上提供了一个安全的文件传输工具。WinSCP基于SSH(Secure Shell)协议,支持SFTP(Secure File Transfer Protocol),是网络上传输数据时...

    Xftp-7.0.0056p

    其版本7.0.0056p代表了该软件的一个特定更新,可能包含了性能优化、新功能或错误修复。在这款软件中,用户可以轻松地管理远程服务器上的文件,提高工作效率,尤其对于IT专业人士和开发者来说,是日常工作中不可或缺...

    Shell_Scripts

    shell脚本的编写可以大大提高工作效率,减少手动执行命令的繁琐过程。在Linux环境中,常见的shell有Bash(Bourne-Again SHell),这也是最常用的shell脚本语言。 一、Shell脚本基础 1. **Shebang**:脚本的开头...

    ode-image

    "ode-image"是一个基于Shell脚本的项目,主要用于处理图像操作。在IT行业中,Shell脚本是一种常用的自动化工具,尤其在Linux或Unix系统中,它允许用户通过编写一系列命令来执行复杂的任务。在这个"ode-image"项目中...

    四个经典批处理文件............

    批处理文件,也称为批处理脚本,是Windows操作系统中的一种简单程序,它允许用户将一系列命令组合到一个单一的文本文件中,然后一次性执行这些命令,极大地提高了工作效率。在这个"四个经典批处理文件"的压缩包中,...

Global site tag (gtag.js) - Google Analytics