sed awk 資料的檢索

2021-08-27 07:31:32 字數 1721 閱讀 2843

在格式化文字中查詢縮寫詞相應的完整詞語,如輸入「basic」,返回其全稱「beginner's all-purpose symbolic instruction code」

下面這個縮寫詞列表可理解為乙個簡單的資料庫:

zhanhailiang@linux-06bq:~>

cat acronyms

basic beginner's all-purpose symbolic instruction code

cics customer information control system

cobol common business oriented language

dbms data base management system

gigo garbage in, garbage out

girl generalized information retrieval language

編寫acro指令碼,它從命令列中獲取第乙個引數(首字母縮寫詞的名字)並將其傳遞給awk指令碼,如下

zhanhailiang@linux-06bq:~>

cat acro

#!/bin/sh

awk'begin ; tolower($1) == tolower(search) '

search=$1 acronyms

在shell命令列中的第乙個引數($1)被賦值給變數search,這個變數作為引數傳遞給awk程式。下面演示如何使用這個程式在列表中找到特殊的首字母縮寫詞(不區分大小寫)。

zhanhailiang@linux-06bq:~> ./acro gigo

garbage in, garbage out

使用關聯陣列來實現資料的檢索:

#!/bin/sh

#awk 'begin ; tolower($1) == tolower(search) ' search=$1 acronyms

awk'begin ;

end '

search=$1 acronyms

接下來介紹一種更複雜的檢索方法(同時互動性更強):

zhanhailiang@linux-06bq:~>

cat glossary

basic beginner's all-purpose symbolic instruction code

cics customer information control system

cobol common business oriented language

dbms data base management system

gigo garbage in, garbage out

girl generalized information retrieval language

zhanhailiang@linux-06bq:~> cat lookup

awk '

begin ;

filename == "glossary"

; tolower(

$0) ~ /^(quit|q|

exit

|x)$/

; $0

!= ""

else

}; ;

' glossary - # 從標準輸入流中讀取縮寫,檢視glossary中是否有相應的匹配

無法檢索資料和目標資料的列資訊 2 檢索資料

select語句應該是 sql 最常用的語句了,用來從乙個表中或者多個表中檢索資料。對於 sql 語句來說,必須至少要給出 2 條資訊 注 作為 sql 組成部分的保留字,關鍵字不能用作表或者列的名字 我們用來示例的表叫 products。select prod name from products...

mysql檢索資料

簡單的來說select 語句用於從表中選取資料。select from city idname countrycode district population 1kabul afgkabol 1780000 2qandahar afgqandahar 237500 3herat afgherat 1...

排序檢索資料

select prod name from products 這樣直接檢索出的單個列,並沒有特定的順序 關聯式資料庫設計理論認為,如果不明確規定順序排序,則不應該假定檢索出的資料的順序有任何意義 為了明確的進行排序可使用order by 字句 order by字句出現的位置必須是select語句中最...