linux 中 批量删除指定的行
001、
(py38) root@DESKTOP-IDT9S0E:/home/test# cat a.txt ## 测试数据 01 02 03 04 05 06 07 (py38) root@DESKTOP-IDT9S0E:/home/test# cat index.txt ## 计划批量删除的行号 2 4 7 (py38) root@DESKTOP-IDT9S0E:/home/test# for i in $(cat index.txt); do sed -i "$i s/^/del_tab\t/" a.txt; done (py38) root@DESKTOP-IDT9S0E:/home/test# cat a.txt ## 添加删除标签 01 del_tab 02 03 del_tab 04 05 06 del_tab 07 (py38) root@DESKTOP-IDT9S0E:/home/test# sed -i '/del_tab\t/d' a.txt ## 删除 (py38) root@DESKTOP-IDT9S0E:/home/test# cat a.txt ## 删除结果 01 03 05 06
02、用循环实现
(py38) root@DESKTOP-IDT9S0E:/home/test# cat record.sh #!/bin/bash wc -l < a.txt | xargs seq | while read i do idx="" num=0 for j in $(cat index.txt) do if [ $i == $j ] then let num=num+1 fi done if [ $num -eq 0 ] then sed -n "$i"p a.txt >> result.txt fi done
(py38) root@DESKTOP-IDT9S0E:/home/test# ls a.txt index.txt record.sh (py38) root@DESKTOP-IDT9S0E:/home/test# cat a.txt ## 测试数据 1 2 3 4 5 6 7 (py38) root@DESKTOP-IDT9S0E:/home/test# cat index.txt ## 删除的行 2 4 7 (py38) root@DESKTOP-IDT9S0E:/home/test# bash record.sh (py38) root@DESKTOP-IDT9S0E:/home/test# ls a.txt index.txt record.sh result.txt (py38) root@DESKTOP-IDT9S0E:/home/test# cat result.txt 1 3 5 6
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2022-04-25 R语言中lapply函数的用法
2022-04-25 R语言中unlist命令用于将列表转化为字符
2022-04-25 R语言中apply函数的用法
2022-04-25 R语言中 %in% 的用法
2022-04-25 R语言中利用which函数返回向量中最大值、最小值、指定值的索引
2022-04-25 R语言中管道符 %>%
2022-04-25 R语言中signif函数指定有效数字位数