1樓:小菜鳥2無聊寫**
這是在linux環境下的一條shell命令,首先。①`意味著取執行的輸出為值,例如`ls`就是取當前目錄的檔名列表,所以題中命令是取awk命令輸出的結果;②(awk命令是乙個功能超級強大的命令,與sed命令齊名,都是用於以正規表示式檢索整理文字檔案用的,關於它們可以用一本300多頁厚的書來介紹,awk側重於**檔案)簡而言之awk + 選項 + 命令' +待處理檔名,是其格式,awk命令處理物件是/data/,命令是「=/system\]/a==1&&$1~/flag2/」
awk '{print $2}' 這個命令是什麼意思?
2樓:徜逸
一行一行的讀取指定的檔案, 然後以空格作為分隔符,列印第二個欄位。
比如有個檔案是,檔案內容如下:
執行」awk '' $:的結果為:
介紹awk是一種程式語言,用於在linux/unix下對文字和資料進行處理。資料可以來自標準輸入(stdin)、乙個或多個檔案,或其它命令的輸出。
它支援使用者自定義函式和動態正規表示式等先進功能,是linux/unix下的乙個強大程式設計工具。它在命令列中使用,但更多是作為指令碼來使用。awk有很多內建的功能,比如陣列、函式等,這是它和c語言的相同之處,靈活性是awk最大的優勢。
3樓:網友
$2:表示第二個欄位。
print $2 : 列印第二個欄位。
awk '' $filename : 一行一行的讀取指定的檔案, 以空格作為分隔符,列印第二個欄位。
比如有這樣乙個檔案。
a1 b1 c1 d1
a2 b2 c2 d2
執行的結果是,輸出。
b1b2
4樓:網友
zhangsan 25 男。
上面的內容被空格分為三個部分,依次為zhangsan 25 男在awk中就分別對應$1 $2 $3
print $2的話就會輸出25
求解awk '/\/\/.*/{print}/\/\*.*/' $1 命令不懂~讀不懂~~ 求大神!
5樓:小公尺飛貓
整條意思是列印註釋,學過c語言的都知道// 和/*是用來做註釋用的$1 是執行時第乙個引數。
/\/.*/ 因為/屬於特殊符號,所以需要\/這樣寫來轉意義也就是匹配包含//和/*的行,並列印出來。
在shell指令碼中 awk -f「:」 『{print $1}' 這條命令放到for迴圈中,1怎麼用變數表示。
6樓:網友
$ cat /tmp/abc
a 1b 2
c 3$ cat
#!/bin/bash
awk '' /tmp/abc
sh -x 1
awk '' /tmp/abcab
c$ sh -x 2
awk '' /tmp/abc12
3可以單引號弄出來。
cat /opt/sftp.txt|awk '$8>="${e}:${e1}" && $8<="${f}:${f1}"' 在shell寫入執行後沒有結果awk沒有生效
7樓:網友
主要原因是 變數放在了 單引號中【雖然變數外有乙個雙引號,但是雙引號也在單引號中】,awk後面的內容更改為:
8樓:良玉小帝
你只做了比較,沒有做輸出,當然啥結果輸出都沒有。
awk -f , '{if ($1!~/\./) print $1","$3}' 和 awk -f"," 'nr==fnr{a[$2]=$0;next}{sub($1,a[$1]
9樓:小公尺飛貓
這兩個是來awk語句。
awk -f , ''
以,(逗號源。
為分隔符)如果第一列不匹配。(點bai)則列印第一列和du第三列資料。zhi
awk -f"," 'nr==fnr{sub($1,a[$1]第二個不全 ,看開頭dao。應該是第乙個檔案的內容存入順組的第二列,第二個檔案的第一列存入陣列的第一列。不全,只能大概看懂這個意思。
awk '{a[$1]?a[$1]=a[$1]+$2:a[$1]=$2}end{for(x in a){print x,a[x]}}' 1.txt
10樓:網友
這個語法就錯了,不會執行的。
麻煩你將符號打對再發上來。
誰能幫忙逐段解釋下這個awk語句什麼意思
11樓:悄逝的流年
-f:更改欄位分隔符為 =
['$section'\]/ :
首先使用/正規表示式/ 是匹配模式,表示只有這一行的字元與//內的正規表示式匹配了,才會去執行//匹配模式後面的{}內的操作。
此處//內的內容是\['$section'\],而因為符號是元字元(在正在表示式內有特殊含義,不僅僅是的字元字面意思),所以使用\來轉義。最後含義就是匹配字串['$section']
進一步分解'$section'其實就是當前shell環境變數setion的值,為什麼要加'' ??
大概是因為shell與awk互動的一系列原因,具體的我也不是很瞭解。
自定義變數a賦值為1
前面兩個合起來就是 如果匹配到字串['$section']變數a的值就是1
a==1 :
條件表示式,值為真或假。
邏輯且$1~/'$key'/:
1是內建變數,表示使用=為分割符分割後的第乙個資料欄位。
此處的'$key'與上面的'$section'相同。
匹配操作符,允許將正規表示式限定在資料行中的特定資料欄位。也就是後面的匹配模式。
只對$1(=分隔符分割後的第乙個資料欄位)進行匹配。
列印由=分割符分割後的第二個資料欄位,然後結束當前行的awk流處理。
也就是如果匹配的所有條件就結束awk,不繼續去處理後面的行。
整個命令作用:在$configfile檔案中匹配到以=為分隔符的第一資料欄位為當前shell環境。
變數值為$key 且 當前行中含有資料欄位為當前環境變數值為$section的行,列印第二資料欄位,然後退出。
12樓:良玉小帝
從檔案$configfile獲取第乙個$section的值。
乙個awk正規表示式的問題: awk '{if($3="futian" && $4="m")print $0}' student.dat
13樓:網友
awk 等於是==,$3=="futian" &&4=="m"就可以了。
相當於賦值。
14樓:少有人教的那些事
c語言中用system() 執行shell命令:system("shell命令")
主要需要解釋的是awk,awk主體中的語法其實與c類似,只不過其中用到了正則匹配。
格式:awk '' 檔案。
就是awk要處理的檔案。
格式:$0 ~ /正規表示式/
作用:判斷$0是否匹配正規表示式 ^\/\\*
含義:awk是逐行讀入並處理的,$0代表整行資料;
正規表示式中 ^ 表示一行的開頭,斜槓前要加轉義符以免被認為是正規表示式的定界符,*表示匹配0個或多個前面的字元。
總體來講,就是隻處理檔案中匹配 /^\\/\\*/ 的行與匹配 /\\*// 的行中間的內容,並通過print列印到螢幕。
ABCDEF A1B1C1D1E1F1是底面半徑為1的圓柱的
解 底面半徑為1 說明正六邊形的邊長為1 f1c1 2 所以 h fc1 f1c1 13 4 9h 3三角形abf的面積s 1 2 1 1 sin120 3 4 1 3 4 v 1 3 s h 1 3 3 4 3 3 4 abcdef a1b1c1d1e1f1是底面半徑為1的圓柱的內接正六稜柱 過f...
a40a1,則a1a,a1a40a1,則a1a為根號
a 1 a a 1 a 2 2 4 所以,a 1 a 2 設 a 1 a a 將 a 1 a 平方得 a 1 a 2 a 2化簡得a 1 a 2 a 2 所以4 2 a 2 2 因為0 a 1 a 根號2 a 1 a 4 0 a 2 1 4a a 2 3,a 1 a 2 a 1 a 2 4 2 2 ...
求證1u1v,求證1u1v1f
如圖,bai實物ab發出的平行與主光軸du的光過焦點f2與過透zhi鏡中心的光交 dao與點e 則內de為實像,bo為物容距u,do為像距v由相似三角形可以得到bo od ab deco de of2 f2d 又由矩形aboc可以得到ab co 所以of2 f2d ab de bo od即f v f...