linux中sed命令实现任意两行数据的互换
1、测试数据
[root@centos7pc1 test2]# cat test.txt 1 x c 2 s d 3 e t 4 d s 5 j u 6 n x
2、程序
[root@centos7pc1 test2]# cat swap.sh #!/bin/bash temp1=$(sed -n "$1p" $3) temp2=$(sed -n "$2p" $3) sed "$1c $temp2" $3 -i sed "$2c $temp1" $3 -i
3、测试
[root@centos7pc1 test2]# ls swap.sh test.txt [root@centos7pc1 test2]# cat test.txt ## 测试数据 1 x c 2 s d 3 e t 4 d s 5 j u 6 n x [root@centos7pc1 test2]# cat swap.sh ## 程序 #!/bin/bash temp1=$(sed -n "$1p" $3) temp2=$(sed -n "$2p" $3) sed "$1c $temp2" $3 -i sed "$2c $temp1" $3 -i [root@centos7pc1 test2]# bash swap.sh 1 3 test.txt ## 1和3为交换的行号, test.txt为处理的文件 [root@centos7pc1 test2]# ls swap.sh test.txt [root@centos7pc1 test2]# cat test.txt ## 查看交换结果 3 e t 2 s d 1 x c 4 d s 5 j u 6 n x
[root@centos7pc1 test2]# ls swap.sh test.txt [root@centos7pc1 test2]# cat test.txt 3 e t 2 s d 1 x c 4 d s 5 j u 6 n x [root@centos7pc1 test2]# cat swap.sh ## 程序 #!/bin/bash temp1=$(sed -n "$1p" $3) temp2=$(sed -n "$2p" $3) sed "$1c $temp2" $3 -i sed "$2c $temp1" $3 -i [root@centos7pc1 test2]# bash swap.sh 2 5 test.txt ## 第2行和第5行进行互换 [root@centos7pc1 test2]# ls swap.sh test.txt [root@centos7pc1 test2]# cat test.txt ## 查看交换结果 3 e t 5 j u 1 x c 4 d s 2 s d 6 n x
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律