shell指令碼中怎麼輸出第二列為指定內容的所有行的資訊

2021-03-22 00:11:45 字數 3545 閱讀 6695

1樓:匿名使用者

寫個指令碼,使用for迴圈,設一個變數i 代表的是行號,從1開始,然後每次執行加1,類似

於a=`cat file|wc -l`

for (( i = 0; i < = $a; i++ ))doj = `cat file |awk "nr==$i"|awk ''`

k =`cat file |awk "nr==$i"`if [[ j -eq *** ]];

then echo $k

fidone

沒有測 但是大概就是這麼個意思

利用shell指令碼如何提取一個檔案中某一特定行和下面若干行的內容

2樓:肥仙女

|豎1、在linux目錄/root下建立一個txt檔案,內容如下,使用|豎線分割,作為我們的實驗資料樣本。

2、sed用法、sed-n'xp'data.txt;顯示檔案x行資料,獲取第18行資料,即為sed-n'18p'data.txt。

3、sed-n'開始行,結束行p'data.txt;顯示檔案x行到y行的內容:命令:sed-n'10,18p'data.txt。

4、head/tail用法。tail用法:tail經常用來檢視檔案末尾的資料,在shell中可以獲取文字中指定資料行。

tail-n-3data.txt獲取檔案最好3行資料。tail-n+3data.

txt獲取檔案3到最後一行資料。

5、head用法:head經常用來顯示文字的前n行資料。head-n10data.txt顯示文字請10行資料。

6、tail和head的結合使用:例如獲取文字倒數第二行資料,結果如圖所示。命令:tail-n2data.txt|head-n1。

7、awk用法、awk在文字處理方面有著強大的功能,配合指令碼使用,可以列印指定行和列。awk'nr==18'data.txt。nr指定行號。

3樓:匿名使用者

一條語句搞定,假定你要找到最後一個abc以及後面的10行, 當然這條語句能夠執行的基礎是,1.log裡確實有abc這個字串,否則下面一條語句就會出現失敗,更好的方法是在指令碼中分成兩條語句,一條語句判斷是否有abc以及行號,第二條語句是用sed來列印。你可以自己根據下面的命令來搞定,我就不多說了。

sed -n "$(grep -n abc 1.log | tail -1 | cut -d : -f 1),+10p" abc.log

shell 獲取命令輸出的幾行裡面的第二行怎麼寫

4樓:四舍**入

可以參考下面的幾種方法:

1、cat file | sed -n '2p'

或者2、cat file |head -n 2|tail -n 1shell作為命令語言

,它互動式解釋和執行使用者輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;作為程式設計語言,它定義了各種變數和引數,並提供了許多在高階語言中才具有的控制結構,包括迴圈和分支。

5樓:用著追她

1、printf 命令也可以輸出簡單的字串:"hello world.\n"。

2、format-string為雙引號。

3、單引號與雙引號效果一樣。

4、沒有引號也可以輸出,但是有時會因引數分割不情出錯。所以,最好還是加單引號或雙引號。

5、格式只指定了一個引數,但多出的引數仍然會按照該格式輸出,format-string 被重用。

6、如果沒有 arguments,那麼 %s 用null代替,%d 用 0 代替。

7、如果以 %d 的格式來顯示字串,那麼會有警告,提示無效的數字,此時預設置為 0。

6樓:小米飛貓

輸出 | sed -n '2p'

7樓:匿名使用者

cat file | sed -n '2p'

或者cat file |head -n 2|tail -n 1

如何用shell讀取檔案中的第二行開始的每一列的資料

8樓:匿名使用者

cat a.txt | awk 'nr>1' | while read name number

doecho $name

echo $number

done

怎麼在用shell指令碼讀取一個文字檔案中二維**指定列和行的內容

shell指令碼命令篩選包含特定字元所在行中的另外幾個字元輸出到檔案

9樓:匿名使用者

假設關鍵字是g01那麼grep g01 q.txt|gawk 'print $2'就可以了

shell awk如何輸出檔案的指定列

10樓:匿名使用者

awk指定讀取檔案中的某一行的某個欄位

awk 可以設定條件來輸出檔案中m行到n行中每行的指定的k欄位,使用格式如下

awk 『nr==m,nr==n 』 path/filename

m,n,k表示實在的數值。如果要用變數來表示m,n的值,則變數需要用單引號將其引起來。

nr,是awk命令在此用法下的規定欄位;path/filename表示讀取檔案的路徑及檔名。

當要讀取某一行的內容的k欄位時,使用格式如下

awk 『nr==m 』 path/filename

m,k與以上的含義一致,分別表示要讀取的行數和當前行的第k欄位。

用shell指令碼讀取文字檔案中的第2列,應該怎麼編寫

11樓:匿名使用者

設分隔符是空格,用awk 或 cut都可以

cat file.txt | cut -d " " -f2

cat file.txt | awk ''

在shell程式設計中,怎樣對每一行每一列的資料進行操作?

12樓:匿名使用者

用awk工具,awk本身就是以行為單位處理文字流的,還可以根據指定分隔符(預設是tab或空格)對每行的欄位進行操作。

使用如下結構也可以達到你的目的:

cat file.txt | while read linedo#處理每行內容 "$line"

done

或者:while read line

do#處理每行內容 "$line"

done

建議直接給出具體要求,給出原始檔的格式示例以及最終要求達到的效果。

13樓:匿名使用者

使用如下資料結構:

cat file.txt | while read linedo#處理每行內容 "$line"

done

或者:while read line

do#處理每行內容 "$line"

done

14樓:甜貝貝

用awk命令應該可以解決你的問題,不過你的問題再具體點就更好回答了

在excel中,第一列第二列鎖定只能看不能修改,在第三列才能填寫數字,怎麼才能做到

二樓兄弟的方法不行吧 選中c列 右鍵 單元格式 保護 把鎖定勾選去掉 確認 工具 保護 保護 輸入密碼上面的選項框勾選 下面勾選第一,第二個選項 確認 先選擇整個工作表右鍵選擇單元格屬性 保護 鎖定的勾去掉 再選擇您要不能修改的列右鍵選擇單元格屬性 保護 鎖定的勾打上 然後在選單 工具 保護 保護工...

EXCEL表中如何讓第二列的內容和第一列的相同內容對應

笨蛋貨 還不會 哈哈 好用的很 我給你回答 要不沒人搭理你 都傷你自尊啊 假設資料從a2,b2開始 在a列後插入輔助列b列,在b2輸入 if iserror vlookup a2,c e,3,0 0 下拉至結尾,在c列後插入輔助列d列,在d2輸入 if iserror vlookup c2,a b,...

excel中第一列固定,對應的第二列有兩個或數字,如何將

先將第二列複製到另外一張工作表上,排序好後再貼上回來,要不就用巨集操作 選中第一 第二列資料,選單 資料 排序 主要關鍵字 資料,降序 excel表中如何讓第二列的內容和第一列的相同內容對應 笨蛋貨 還不會 哈哈 好用的很 我給你回答 要不沒人搭理你 都傷你自尊啊 假設資料從a2,b2開始 在a列後...