linux 在文件中增加空行,Linux下删除文本、文件中的空行

实验描述: 可同时处理一个或多个文件; 要求在用 sed 删除空行之前先核实文件是否存在; sed的输出被导入一个文件名中含有$ $的

实验描述:

可同时处理一个或多个文件;

实验过程:

1:编写一个脚本,名为del.lines:

截图如下:

20c2a7a0441de194df9c9b606aaec288.png

内容如下:

#!/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 ] ;

then

usage

fi

FILES=$1

While [ $# -gt 0 ]

do

echo "...$1"

case $1 in

--help)

echo "Use this script to delete all blank lines from a text file(s)"

exit 0

;;

*)

FILE_NAME=$1

If [ -f $1 ]

then

sed '/^$/d' $FILE_NAME > $TEMP_F

mv $TEMP_F $FILE_NAME

else

echo "$0 cannot find this file: $1"

fi

shift

;;

esac

done

2.保存脚本并增加执行权限: chmod +x del.lines,执行后脚本提示寻帮助:

51a89cc1e0fa773cf6f02f8310129320.png

3. 为了验证脚本执行效果:

添加两个含有空行的无用数据脚本文件:

3c446965846fc4e5ed83a71d1b5df0a4.png

文件内容截图如下:

513e2f475590aa4dacbbe9347e27ff87.png

a29d281ad7190a71e51afbf2e071ce7f.png

4. 执行脚本并验证效果:

f46638fc05999ac894cd468549eb1de1.png

注解:

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下删除文本文件中的所有空行

logo.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值