❶ 請問linux如何提取特定行數據(提取兩個關鍵詞行之間的行)
❷ linux取出某幾行
一、從第3000行開始,顯示1000行。即顯示3000~3999行
cat filename | tail -n +3000 | head -n 1000
二、顯示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
注意兩種方法的順序
分解:
tail -n 1000:顯示最後1000行
tail -n +1000:從1000行開始顯示,顯示1000行以後的
head -n 1000:顯示前面1000行
三、用sed命令
sed -n '5,10p' filename 這樣就可以只查看文件的第5行到第10行。
❸ linux:文本處理系列-1.行截取
(自己)常用的文本文件的行處理命令
示例文件:test.vcf
1、head -n 10 test.vcf
head : 默認是提取文件的前10行,-n 參數可以設定選擇文件的前n行
2、tial -n 10 test.vcf
tail : 默認是提取文件的末尾10行, -n 參數可以設定選擇文件末尾的n行
3、sed -n '10,20p' test.vcf
sed -n : 隨意選擇需要查看的行
sed命令是一個面向行處理的編輯器,可以和正則表達式配合使用,附上較全面的sed命令使用教程。
https://man.linuxde.net/sed
4、awk 截取行的指定長度字元串
less test.gz |awk '{if(NR%2==1){print}else{print substr($1,1,75)}}' | gzip -c > test.part.gz
說明:對test.gz文件指定行截取75bp,原來是150bp
5、對n行的第三列求和,求平均值
grep -v 『#』 test.vcf |sed -n '20,35p' |awk -F '\t' '{sum+=$3;n++}END{print sum,sum/n}'
(linux 一行命令計算速度比Python快,簡單計算喜歡用linux命令)
記得隨時整理使用過的命令,沒學過linux,靠著各種帖子,隨時需要隨時補給,有點懶。
❹ linux 下怎麼隨機去1-39博客
在shell中有一個環境變數RANDOM,它的范圍是0--32767
如果我們想要產生0-25范圍內的數,如下:
$RANDOM%26
用這個環境變數對26取模,就可以得到最小是0,最大是25的數了。
如果想得到1--68范圍內的數,可以這樣
$RANDOM%68+1,
前面可以得到最小為0,最大為67的隨機數,再加上1,很自然的就可以得到最大為1,最小為68的數了。
如果想得到6--87范圍內的數。可以這樣
$RANDOM%82+6,
前面可以得到最小為0,最大為81的隨機數,再加上6,很自然的就可以得到最大為87,最小為6的數了。
❺ linux取出某幾行
一、從第3000行開始,顯示1000行。即顯示3000~3999行x0dx0acat filename | tail -n +3000 | head -n 1000x0dx0a 二、顯示1000行到3000行x0dx0acat filename| head -n 3000 | tail -n +1000x0dx0a 注意兩種方法的順序x0dx0a 分解:x0dx0a tail -n 1000:顯示最後1000行x0dx0a tail -n +1000:從1000行開始顯示,顯示1000行以後的x0dx0a head -n 1000:顯示前面1000行x0dx0a 三、用sed命令x0dx0a sed -n Ƌ,10pfilename 這樣就可以只查看文件的第5行到第10行。
❻ linux中如何提取文件中特定的行
cat file1 file2 |sort|uniq -c |grep -v " 2 "|cut -d" " -f 2-
如果你的文件每行都是維一的可以這樣處理.
grep -v 後面的 " 2 " 可以按著你的實際情況前面多加幾個空格.
❼ 在linux下如何提取指定字元串的幾行
使用awk好像有此功能可以截取特定的行
^begin指的是以begin開頭的行
一直到
^end開頭的行
awk "^begin","^end"{print $0} /path/file
/path路徑 /file即為文件名
如果想了解更多功能的話 網路awk吧呵呵
❽ Linux shell怎麼從20W數據中隨機的抽取2W
#!/bin/bash
sort -R a.txt | head -20000
##
sort隨機排序,然後取前20000,實現出來就是隨機抽取20000.