首页 > 系统相关 >Linux脚本之文件内容去重脚本

Linux脚本之文件内容去重脚本

时间:2024-01-31 11:23:28浏览次数:30  
标签:脚本 文件 Deduplication filename 内容 Linux txt

前言

脚本为自用脚本,用于在Linux上完成文件内容的去重工作,但是此文件对二进制文件无效,只针对文本文件进行去重

脚本内容

#!/bin/bash

# 检查参数是否正确
if [ $# -ne 1 ]; then
  echo "用法:$0 <文件名>"
  exit 1
fi

# 获取指定文件的文件名
filename=$1

# 使用 sort 和 uniq 命令对文件内容进行去重
uniq < $filename > tmp.txt

# 将去重后的内容覆盖原文件
mv tmp.txt $filename

# 输出提示信息
echo "文件 $filename 的内容已经去重。"

使用方法

将上面的脚本内容保存成Deduplication.sh。然后赋予该脚本执行权限

chmod 777 Deduplication.sh

对文本文件进行去重

比如这里对1.txt进行去重

./Deduplication.sh 1.txt

标签:脚本,文件,Deduplication,filename,内容,Linux,txt
From: https://www.cnblogs.com/wushiyiwuzhong/p/17998823

相关文章

  • linux系统根目录扩容
    linux系统根目录扩容系统版本:CentOSLinuxrelease7.5.1804(Core)文件系统类型:xfs基本概念:PV(PhysicalVolume)-物理卷物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。VG(VolumneGroup)-卷组卷组建立在物理卷之上,一个卷......
  • 如何提升企业文件加密的效率和安全性?
    在当今数据驱动的商业环境中,信息资产的保护显得尤为关键。提升企业文件加密的效率和安全性,不仅需要技术的支撑,更需要策略和管理的结合。加密是一项不可或缺的技术,它能够确保数据的完整性,防止数据流失,并保护企业的重要信息。企业往往会面临如何提升文件加密的效率和安全性这样的问......
  • 幻兽帕鲁Palworld优化配置文件在哪?存放路径
    幻兽帕鲁配置文件在哪?如何优化Palworld配置?阿腾云分享不同Windows和Linux服务器操作系统幻兽帕鲁配置文件路径:幻兽帕鲁配置文件存放路径位置Windows-Steam,SteamCMD配置文件位置:steamapps/common/PalServer/Pal/Saved/Config/WindowsServer/PalWorldSettings.iniLinux-SteamCM......
  • vue3 在 TypeScript 文件中,const route = useRoute();route undefined 不能在顶层作用
    ts文件内部不能使用import{useRoute}from'vue-router';constroute=useRoute();routeundefined在TypeScript文件中,不能在顶层作用域内使用Vue组件的Hooks函数,例如useRoute。Hooks函数只能在Vue组件中使用。如果你想在TypeScript文件中获取当前路由信息,你可......
  • `glob`和`fnmatch`都是Python的内置模块,用于文件名的匹配,但它们的功能和使用场景有所
    `glob`和`fnmatch`都是Python的内置模块,用于文件名的匹配,但它们的功能和使用场景有所不同²。1.**fnmatch**:`fnmatch`模块提供了一种简单的方式来匹配Unixshell风格的模式,如`*.py`,`Dat[0-9]*`,`Dat[!0-9]*`等²。它只是将一个文件名与模式进行比较,返回True或False²。例如,......
  • AS-Windows 客户端不显示文件状态图标
    关键字状态图标、注册表适用产品AS5.0.xASEnterprise6.0.xASExpress6.0.xASCloud6.0.x问题描述打开AnyShareWindows客户端不显示文件状态图标。 问题影响AnyShareWindows客户端文件状态图标不显示,无法判断文件状态,影响用户使用体验。问题原因杀毒软件等原因导致文件状......
  • Linux端口被占用
    以下是一些解决Linux端口被占用的方法:step1.使用lsof命令查找占用端口的进程在终端中使用以下命令可以查找指定端口被哪个进程占用:sudolsof-i:端口号例如,要查找端口号为8080的进程,可以使用以下命令:sudolsof-i:8080该命令将返回占用该端口的进程的详细信息,包......
  • springboot~logback控制日志文件大小与历史个数
    日志本地化,对于每个应用来说都是必须的,最起码第一时间日志是需要本地化的,然后从本地化的日志中再进行推送,例如通过fluentd将日志推到es里,通过kibana工具进行可视化分析。日志文件大小限制对于把日志持久化到磁盘,你需要设置它的占用空间,logback提供了保存文件大小和历史文件数量......
  • Spring 事务管理 基于配置文件
    事务概念:原子性:要么都成功,有一个失败都失败一致性:总量不变(A有100元,B有100元,总量是200元。A把100元转给B,B就有了200元,总量还是200元)隔离性:两人操作同一条数据,不会相互影响持久性:最终提交到数据库后成功搭建事务操作环境进行操作():银行转账例子:1.1、创建数据库,创建表,添加......
  • MyBatis 源码系列:MyBatis 解析配置文件、二级缓存、SQL
    解析全局配置文件启动流程分析Stringresource="mybatis-config.xml";//将XML配置文件构建为Configuration配置类reader=Resources.getResourceAsReader(resource);//通过加载配置文件流构建一个SqlSessionFactoryDefaultSqlSessionFactorySqlSessionFactorysqlMapp......