我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在Linux中删除和替换文件中的某一行

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在Linux中删除和替换文件中的某一行

本篇文章给大家分享的是有关怎么在Linux中删除和替换文件中的某一行,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

  如果有一个abc.txt文件,内容是:

aaa
bbb
BATBUSINESSTYPE, INSIDEID--) ONLINE;
INSIDEID--) ONLINE
ccc
ddd
eee
fff

如果要删除ddd,那么脚本可以这样写:

sed -i '/ddd/d' abc.txt

如果删除的是一个变量的值,假如变量是var,应该写成:

sed -i '/'"$var"'/d' abc.txt

至于grep -v aaa abc.txt这个方法,是无法将修改的结果写入abc.txt中去的。

[asp@BJ-CP-7F-106-36 result]$ cat 11371_mobile_20110425.csv20110425,北京,北京,1366118998320110425,北京,北京,15810705979WAPSJBBI_101>WAPSJBBI_101>spooloff;[asp@BJ-CP-7F-106-36 result]$ sed -i '/WAPSJBBI_101>/d'11371_mobile_20110425.csv[asp@BJ-CP-7F-106-36 result]$ cat 11371_mobile_20110425.csv           20110425,北京,北京,1366118998320110425,北京,北京,15810705979

从结果上看怎么就2行都删了呢?

答案是这样的:

sed 后面那个/d是删除的作用,写成sed '/WAPSJBBI_101>/d' 11371_mobile_20110425.csv其实就是在文件11371_mobile_20110425.csv里找到跟 “WAPSJBBI_101>”匹配的行,然后删掉。因为原文中含有“WAPSJBBI_101>”的行是2个,因此就2个一口气都删除了。

删除:d命令

$ sed '2d' example-----删除example文件的第二行。
$ sed '2,$d' example-----删除example文件的第二行到末尾所有行。
$ sed '$d' example-----删除example文件的最后一行。
$ sed '/test/'d example-----删除example文件所有包含test的行。

在看看以前我常写的sed 's/|/,/g' aaa.txt>bbb.txt 这个的意思就是把aaa.txt文件中所有字符串|都换成,这是怎么表示的呢?S代表字符串,g表示行内全面替换。 

替换:s命令

$ sed 's/test/mytest/g' example
-----在整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。
$ sed -n 's/^test/mytest/p' example
-----(-n)选项和p标志一起使用表示只打印那些发生替换的行。也就是说,如果某一行开头的test被替换成mytest,就打印它。
$ sed 's/^192.168.0.1/&localhost/' example
-----&符号表示替换换字符串中被找到的部份。所有以192.168.0.1开头的行都会被替换成它自已加 localhost,变成192.168.0.1localhost。
$ sed -n 's/able/\1rs/p' example
-----love被标记为1,所有loveable会被替换成lovers,而且替换的行会被打印出来。
$ sed 's#10#100#g' example
-----不论什么字符,紧跟着s命令的都被认为是新的分隔符,所以,“#”在这里是分隔符,代替了默认的“/”分隔符。表示把所有10替换成100。
cat init.ora | grep -v  ^#|grep –v ^*  > initprod.ora

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

以上就是怎么在Linux中删除和替换文件中的某一行,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在Linux中删除和替换文件中的某一行

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在Linux中删除和替换文件中的某一行

本篇文章给大家分享的是有关怎么在Linux中删除和替换文件中的某一行,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 如果有一个abc.txt文件,内容是:aaabbbBATB
2023-06-09

Linux 删除和替换文件中某一行的方法【推荐】

如果有一个abc.txt文件,内容是:aaa bbb BATBUSINESSTYPE, INSIDEID--) ONLINE; INSIDEID--) ONLINE ccc ddd eee fff如果要删除ddd,那么脚本可以这样写:
2022-06-04

怎么用shell删除文件的某一行

要使用shell删除文件的某一行,可以使用sed命令来实现。以下是删除文件的某一行的步骤:1. 打开终端或命令提示符,进入要操作的文件所在的目录。2. 使用以下命令来删除文件的某一行:```shellsed -i 'Nd' file```其
2023-10-09

c语言如何删除文件中的某一行

在C语言中,要删除文件中的某一行,可以实现以下步骤:1. 打开待操作的文件,使用`fopen()`函数打开文件,指定打开方式为读写模式("r+")。2. 创建一个临时文件,使用`fopen()`函数创建一个新的临时文件,并指定打开方式为写模
2023-08-08

怎么在linux中删除文件夹

今天就跟大家聊聊有关怎么在linux中删除文件夹,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于P
2023-06-14

Linux中怎么删除文件内空行

这篇文章给大家介绍Linux中怎么删除文件内空行,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. grep代码如下:grep . data.txtgrep -v ^$ data.txtgrep [^$] data.t
2023-06-09

怎么在Linux中恢复一个删除了的文件

这篇文章主要为大家展示了“怎么在Linux中恢复一个删除了的文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在Linux中恢复一个删除了的文件”这篇文章吧。把删除创建为 rm -i 的别名
2023-06-16

Linux系统怎么删除文件中的空行

本篇内容介绍了“Linux系统怎么删除文件中的空行”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!下列 5 种方法可以做到。sed:过滤和替换
2023-06-16

sed怎么删除文件中的一行内容

这篇文章主要介绍“sed怎么删除文件中的一行内容”,在日常操作中,相信很多人在sed怎么删除文件中的一行内容问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”sed怎么删除文件中的一行内容”的疑惑有所帮助!接下来
2023-06-09

怎么在Linux中恢复已删除的文件

本篇内容主要讲解“怎么在Linux中恢复已删除的文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Linux中恢复已删除的文件”吧!许多情况下,删除的文件都可以恢复,比如在该文件有活动的进
2023-06-16

用golang怎么替换某个文件中的字符串

这篇文章主要介绍了用golang怎么替换某个文件中的字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。golang的优点golang是一种编译语言,可以将代码编译为机器代码
2023-06-14

Linux中怎么删除文本中的重复行

这篇文章将为大家详细讲解有关Linux中怎么删除文本中的重复行,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。第一,用sort+uniq,注意,单纯uniq是不行的。shell> sort -
2023-06-13

怎么删除Linux中的垃圾文件

小编给大家分享一下怎么删除Linux中的垃圾文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!当然,我们也可以使用 find 命令查找并删除超过 x 天未访问的文
2023-06-05

Linux中怎么删除重复的文本行

Linux中怎么删除重复的文本行,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、sort命令 - 在Linux和类Unix系统中对文本文件行进行排序。2、uniq命令 - 在
2023-06-16

怎么在Linux系统中删除文件中的隐私数据

这期内容当中小编将会给大家带来有关怎么在Linux系统中删除文件中的隐私数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一个
2023-06-07

编程热搜

目录