001、提取前半部分
root@ubuntu01:/home/test2# cat a.txt ## 测试数据 1 2 3 4 5 6 7 8 9 10 root@ubuntu01:/home/test2# sed -n "1, $(expr $(sed -n "$=" a.txt) / 2)p" a.txt ## 提取前半部分 1 2 3 4 5
002、提取后半部分
root@ubuntu01:/home/test2# cat a.txt 1 2 3 4 5 6 7 8 9 10 root@ubuntu01:/home/test2# sed "1, $(expr $(sed -n "$=" a.txt) / 2)d" a.txt ## 提取后半部分 6 7 8 9 10
003、awk实现
root@ubuntu01:/home/test2# ls a.txt root@ubuntu01:/home/test2# cat a.txt 1 2 3 4 5 6 7 8 9 10 root@ubuntu01:/home/test2# awk -v a=$(sed -n "$=" a.txt) 'NR <= a/2' a.txt ## awk实现提取前半部分 1 2 3 4 5
root@ubuntu01:/home/test2# ls a.txt root@ubuntu01:/home/test2# cat a.txt 1 2 3 4 5 6 7 8 9 10 root@ubuntu01:/home/test2# awk -v a=$(sed -n "$=" a.txt) 'NR > a/2' a.txt ## 提取后半部分 6 7 8 9 10