想知道是否有人可以幫我解決這個問題。所以我有一個10行的文本文件,一個while循環和一個從10開始的計數器。對於循環的每次迭代,我將遞減它。然而,對於每一次迭代,我想提取一行,例如第一次旋轉的第10行和第二次的第9行以比較它們。有沒有一個函數說你傳遞一個值,並提取某一行?或者它的一些組合。希望得到幫助 感謝在Unix中提取某個文本文件的指定行的函數
回答
通過你的行號awk
:
如果您有變量i
行數則:
val=$(awk -v line=$i 'NR==line{print;exit}' filename)
將i
行存儲爲變量e val
。
小effiercency:'awk -v line = $ i'NR == line {print; exit}'' –
@glennjackman同意.. :) –
謝謝!我現在正在嘗試這個,我怎麼檢查這個工作?我一直在做echo $ val,但它只是給我一個空白的行? – Masterminder
你可以用尾巴和頭做到這一點:
line=$(tail -n "+$N" file | head -n 1)
tail -n "+$N" file
將打印文件從行號$N
出發,head -n 1
將打印從尾部接收到第一線。最終結果將存儲在變量$line
中(不含結尾換行符)。
如果你想要的東西更短,有一個sed oneliner:
line=$(sed -n -e "$N { p; q }" file)
將只調用行號$N
打印「p」命令,然後在退出「Q」命令退出。
編輯:添加q
命令由格倫·傑克曼所建議的意見,另一種答案
嘗試在shell下:
read -p "Give me the number of the wanted line >>> "
sed -n "${REPLY}{p;q}" FILE
在Unix中
- 1. 在UNIX中從文本文件中提取特定文本
- 2. 如何從unix中的文本文件中提取此數值
- 3. 提取文本文件中特定行
- 4. 提取文件unix的多行
- 5. 在一個文本文件中的Unix
- 6. Linux:根據匹配從文本文件中提取指定數量的行
- 7. 從文本文件中提取特定的字節文本行
- 8. 比較Unix中兩個文本文件的比較函數
- 9. 如何從文本文件中提取幾行前的指定行?
- 10. 從一個文本文件提取特定的行到其他文本文件
- 11. Java從文本上的某個點提取文本文本
- 12. 從文本文件的某一行讀取一個數字
- 13. 提取文本文件中的數字
- 14. 在UNIX中一次讀取兩行文本文件一行
- 15. 從文本文件中提取某些行
- 16. 使用文件從另一個文件中提取指定的行
- 17. 提取從文本文件中的特定數據在Perl
- 18. shell腳本在unix中逐行讀取文件並更新文件中的行
- 19. 從多個文本文件中提取特定行
- 20. 如何在c#中讀取某個文本文件後的文本文件?
- 21. 使用Perl單行提取文本文件中的列:類似於Unix剪切
- 22. 如何從文本文件表中提取特定信息UNIX/Shell腳本
- 23. unix ksh從文件中獲取行數
- 24. 從多個文本文件名中提取行,然後從文本文件中提取這些行 - Linux
- 25. 在文本文件中的Unix
- 26. 如何知道某個特定函數在gdb中的文件?
- 27. 從docx文件中提取某些字體的文本
- 28. 從文本文件中提取行
- 29. Python在文本文件中提取特定行
- 30. VB.NET在文本文件的指定行之後添加文本
,還有一個非常實用的小型語言調用awk時,可以讓你很容易做到這樣的事情;它需要很少的時間來學習它 – Eduardo