Welcome 微信登录

首页 / 操作系统 / Linux / Linux下删除文本、文件中的空行

实验描述:可同时处理一个或多个文件;要求在用 sed 删除空行之前先核实文件是否存在;sed的输出被导入一个文件名中含有$ $的临时文件,最后将临时文件移回原来的文件中;使用shift命令取得所有的文件名,用while循环逐个处理所有的文件,直至处理完为止;可以使用del.lines --help获得一个简短的帮助信息。实验过程:1:编写一个脚本,名为del.lines:截图如下:内容如下:#!/bin/bash# Script takes filename(s) and deletes all blank lines.TEMP_F="/tmp/del.lines.$$"usage(){echo "Usage:$0 file [file...]"echo "try $0 -help for more info"exit 1}if [ $# -eq 0 ] ;thenusagefiFILES=$1While [ $# -gt 0 ]doecho "...$1"case $1 in--help)echo "Use this script to delete all blank lines from a text file(s)"exit 0;;*)FILE_NAME=$1If [ -f $1 ]thensed "/^$/d" $FILE_NAME > $TEMP_Fmv $TEMP_F $FILE_NAMEelseecho "$0 cannot find this file: $1"fishift;;esacdone2.保存脚本并增加执行权限: chmod +x del.lines,执行后脚本提示寻帮助:3. 为了验证脚本执行效果:添加两个含有空行的无用数据脚本文件:文件内容截图如下:4. 执行脚本并验证效果:注解:
  • basename命令能够从路径中分离出文件名。通常用于shell脚本中
  • shift语句用于迁移位置变量,将 $1~$9 依次向左传递
eg:若当前脚本程序获得的位置变量如下:$1=file1、$2=file2、$3=file3、$4=file4则执行一次shift命令后,各位置变量为:$1=file2、$2=file3、$3=file4再次执行shift命令后,各位置变量为:$1=file3、$2=file4. . .5. 根据实际环境,进行相应的脚本修改,以便为生产环境服务。相关阅读:Linux下删除文本文件中的所有空行 http://www.linuxidc.com/Linux/2008-10/16209.htmPyPy运行Django+MySQL简单教程Samba文件共享服务相关资讯      Linux下删除空行  本文评论 查看全部评论 (0)
表情: 姓名: 字数