當前位置:首頁 » 編程軟體 » awk腳本

awk腳本

發布時間: 2022-01-08 06:58:14

『壹』 腳本awk問題

不用逗號時,代表連接(awk里默認空格是連接符),第一式里應該是空格被哪裡吃掉了沒貼出來,正確應該是這樣:
awk
'{print
$1
"\t"
$2
"\t"
$3}'
names
其中\t代表製表符,及TAB鍵產生的字元。這里意思是直接插入製表符列印前三列數據。
而式2用逗號隔開的,又是分別的需要顯示出的東西,逗號的地方印出時會用指定的分隔符顯示,沒指定時默認是空格,指定的話就會是其它的,如你可以執行下這個看效果:
awk
'BEGIN{OFS="@"}{print
$1,"name"
$2,"age"
$3}'
names
同理中間空格應該也是丟了,可能會執行出錯,我補上了。
區別是第一個命令執行結果是以TAB符分隔的,而第二個命令是以一個空格跟一個TAB分隔的,即後一命令的結果是用兩個符號分隔的。
你可以輸出到文件,然後拿到其它文件編輯器下查看確認一下

『貳』 怎麼定義一個文件為awk腳本

樓上的說的很對,不需要什麼頭語句,你可以直接在裡面寫你的函數,不過得按照AWK的語法寫,可以保存成xxx.awk。
然後在shell腳本中:awk
-f
xxx.awk即可,或者你要給AWK腳本文件中傳shell的變數的話,你也可以這樣:awk
-v
var=${xx}
-f
xxx.awk
當然-v是傳參數,-f是指定awk腳本。
下面是我在網路文庫中上傳的關於AWK的一篇文章,你也可以參考下:http:/
/wenku..com/view/2ff6c024ccbff121dd368355.html

『叄』 如何在shell腳本里傳遞一個變數給awk

先說簡單的,如果是只傳遞變數,有幾種方法:
awk '{print v1, v2}' v1=$VAR1 v2=$VAR2 input_file
# 或者,這種方法不是所有的awk分支都支持
awk -v v1=$VAR1 -v v2=$VAR2 '{print v1, v2}' input_file
# 或者,這種寫法是最難受的
awk '{print "'"$VAR1"'", "'"$VAR2"'"}' input_file
把變數用在正則裡面的方法:
awk ' $0 ~ v1; {print v2}' v1=$VAR1 v2=$VAR2 input_file

『肆』 awk循環處理文件的腳本

不用awk啊,因為外面有個循環一行一行讀取數據,裡面只處理一個字串就行,

也就是分割字串,按照分割符「|」。

cat~/log.txt|whilereadline
do
ipaddr=`echo$line|cut-d"|"-f1`
pwd=`echo$line|cut-d"|"-f2`
echo$ipaddr
echo$pwd
done

『伍』 怎樣執行awk腳本文件 如:要執行 error_strip.awk 腳本文件

awk腳本文件開頭一般都是這樣的:#!/bin/awk -f
已經指明了 -f 選項。
執行時,直接在error_strip.awk 後面加要處理的文件名作為參數即可。

『陸』 求寫個awk腳本

awk_calc.sh 內容如下:

#!/usr/bin/awk -f
BEGIN { FS = "(<)|(ms)" }
{
sum += $2;
if ($2 > max) max = $2;
if (NR == 1)
min = $2;
else
if ($2 < min) min = $2;
}
END {
average = sum / NR;
printf("Maximum: %dms\nAverage: %.2fms\nMinimum: %dms\n", max, average, min);
}

先用 chmod +x awk_calc.sh 給這個腳本賦予可執行許可權。
然後執行 ./awk_calc.sh test.log 即可。

『柒』 linux awk腳本問題

不對呀,我的怎麼就可以呢?
我的data 文件:
herry 櫻桃
orange 橙子
olive 橄欖
areca 檳榔
coconut 椰子
nectarine 蜜桃
mandarin 蜜橘
pineapple 菠蘿
grapes 葡萄
raisins 葡萄乾
pear 梨
ginko 銀杏
cane 甘蔗
fruit 水果
figs 無花果
bessemyanka 無籽梨
grenades 石榴
mango 芒果
apricot 杏子
apple 蘋果
plum 李子
gale 楊梅
calamondin 金橘
medlar 枇杷
banana 香焦-蘋果
gout 草莓
banana 香焦
lychee 荔枝
pomelo 柚子
hamiskaya 哈密瓜
lemon 檸檬
peach 桃子
估計是你的腳本中末行有空格?你看我顯示的:
Press "ctrl-d" to exit
香蕉 的英文生字是:

Try again!
Try again!
Try again!
banana
You are right !! Press Enter to Continue ---

『捌』 awk腳本怎麼調用

如果你的腳本名稱是delay.awk,把這個文件和你要輸入的.tr文件放在同一目錄下,ns中使用調用命令:
gawk -f delay.awk filename.tr
filename為你要輸入的文件夾

『玖』 誰能詳細解析一下這行帶awk命令的SHELL腳本

Linux下腳本的第一行#! 是指明本腳本使用哪個解釋器來執行當前腳本,從頭文件看出這個一個awk腳本,第一行的意思可以理解為 使用 /usr/bin/awk -f 腳本名 來執行當前腳本:
比如腳本:test.awk的第一行是#!/usr/bin/awk -f那麼執行這個腳本的時候就會根據第一行去尋找解釋器,效果相當於在shell下執行
/usr/bin/awk -f test.akw
這里的-f是awk命令的一個參數,是從文件中讀取腳本執行的意思.

『拾』 如何執行這個awk腳本

印象中執行awk的文件應該是在命令行輸入awk -f 文件名。 shell腳本那個問題,需要把xx.sh設置為可執行的,chmod u+x xx.sh,然後才可以用./xx.sh

熱點內容
pythonlinux推薦 發布:2024-12-23 10:58:54 瀏覽:56
pythonurllib2沒有了 發布:2024-12-23 10:57:38 瀏覽:606
常考演算法 發布:2024-12-23 10:53:04 瀏覽:303
循跡小車演算法 發布:2024-12-22 22:28:41 瀏覽:82
scss一次編譯一直生成隨機數 發布:2024-12-22 22:04:24 瀏覽:956
嫁接睫毛加密 發布:2024-12-22 21:50:12 瀏覽:975
linuxbin文件的安裝 發布:2024-12-22 21:46:07 瀏覽:798
vlcforandroid下載 發布:2024-12-22 21:45:26 瀏覽:664
電腦做網關把數據發送至伺服器 發布:2024-12-22 21:44:50 瀏覽:432
新華三代理什麼牌子的伺服器 發布:2024-12-22 21:33:21 瀏覽:342