操作系統(tǒng)中排序命令的使
語法格式
sort [ -A ] [ -b ] [ -c ] [ -d ] [ -f ] [ -i ] [ -m] [ -n ] [ -r ] [ -u ] [ -o OutFile ] [ -t Character ] [ -T Directory ] [ -y [ Kilobytes ] ] [ -z RecordSize ] [ [ + [ FSkip ] [ .CSkip ] [ b ] [ d ] [ f ] [ i ] [ n ] [ r ] ] [ - [ FSkip ] [ .CSkip ] [ b ] [ d ] [ f ] [ i ] [ n ] [ r ] ] ] [ -k KeyDefinition ] [文件 ]
使用說明
sort 命令對 File 參數(shù)指定的文件中的行排序,并將結(jié)果寫到標(biāo)準(zhǔn)輸出。如果 File 參數(shù)指定多個文件,那么 sort 命令將這些文件連接起來,并當(dāng)作一個文件進(jìn)行排序。-(減號)代替文件名指定標(biāo)準(zhǔn)輸入。如果您不指定任何文件名,那么該命令對標(biāo)準(zhǔn)輸入排序??梢允褂?-o 標(biāo)志指定輸出文件。
如果不指定任何標(biāo)志,sort 命令基于當(dāng)前語言環(huán)境的整理順序?qū)斎胛募乃行信判颉?/p>
主要參數(shù)
-A 使用 ASCII 整理順序代替當(dāng)前語言環(huán)境的整理順序在逐字節(jié)的基礎(chǔ)上排序。 -b 忽略前導(dǎo)空格和制表符,找出字段的第一或最后列。 -c 檢查輸入是否已按照標(biāo)志中指定的排序規(guī)則進(jìn)行排序。如果輸入文件排序不正確,就返回一個非零值。 -d 使用字典順序排序。比較中僅考慮字母、數(shù)字和空格。 -f 比較前將所有小寫字母改成大寫字母。 -i 比較中忽略所有非顯示字符。 -k KeyDefinition 指定排序關(guān)鍵字。KeyDefinition 選項的格式為: [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]排序關(guān)鍵字包括所有以 FStart 變量指定的字段和 CStart 變量指定的列開頭的字符及以 FEnd 變量指定的字段和 CEnd 變量指定的列結(jié)束的字符。Modifier 變量的值可以是 b、d、f、i、n 或 r。修飾符與同一字母的標(biāo)志等價。-m 只合并多個輸入文件;假設(shè)輸入文件已經(jīng)排序。 -n 按算術(shù)值對數(shù)字字段排序。數(shù)字字段可包含前導(dǎo)空格、可選減號、十進(jìn)制數(shù)字、千分位分隔符和可選基數(shù)符。對包含任何非數(shù)字字符的字段進(jìn)行數(shù)字排序會出現(xiàn)無法預(yù)知的結(jié)果。 -o OutFile 將輸出指向 OutFile 參數(shù)指定的文件,而不是標(biāo)準(zhǔn)輸出。OutFile 參數(shù)值可以與 File 參數(shù)值相同。 -r 顛倒指定排序的順序。 -t Character 指定 Character 為單一的字段分隔符。 -u 禁止按照排序關(guān)鍵字和選項的所有等同排序(每一組行中一行除外)。 -T Directory 將創(chuàng)建的所有臨時文件放入 Directory 參數(shù)指定的目錄中。 -y[Kilobytes] 用 Kilobytes 參數(shù)指定的主存儲的千字節(jié)數(shù)啟動 sort 命令,并根據(jù)需要增加存儲量。(如果 Kilobytes 參數(shù)指定的值小于最小存儲站點或大于最大存儲站點,就以這個最小存儲站點或最大存儲站點取代)。如果省略 -y 標(biāo)志,sort 命令以缺省的存儲大小啟動。-y0 標(biāo)志用最小存儲啟動,而 -y 標(biāo)志(不帶 Kilobytes 值)用最大存儲啟動。sort 命令使用的存儲量顯著地影響性能。以大存儲量對小文件排序?qū)⒑芾速M。 -z RecordSize 如果正在排序的任一行大于缺省的緩沖區(qū)大小,要防止出現(xiàn)異常終止。指定 -c 或 -m 標(biāo)志時,省略排序階段,使用系統(tǒng)的缺省緩沖大小。如果已排序行超出這一大小,排序異常終止。-z 選項指定排序階段最長行的記錄,因而可在合并階段分配足夠的緩沖區(qū)。RecordSize 必須指明等于或大于要合并的最長行的字節(jié)值。
應(yīng)用實例
我們都必須等待相當(dāng)長的一段時間才能找到答案。根據(jù)Jackson的說法 要在 LC_ALL、LC_COLLATE 或 LANG 環(huán)境變量設(shè)置為 En_US 的情況下排序 fruits 文件,請輸入:
LANG=En_US sort fruits此命令序列顯示以升序詞典順序排序的 fruits 文件的內(nèi)容。每一列的字符,包括空格、數(shù)字和特殊字符都經(jīng)一一比較。 例如,如果 fruits 文件包含文本:bananaorangePersimmonapple%%bananaappleORANGEsort 命令顯示:%%bananaORANGEPersimmonappleapplebananaorange在 ASCII 整理序列中,%(百分號)在大寫字母前,大寫字母在小寫字母前。如果您當(dāng)前的語言環(huán)境指定 ASCII 之外的字符集,結(jié)果可能不同。
要以字典順序排序,請輸入:
sort -d fruits此命令序列排序和顯示 fruits 文件的內(nèi)容,并且只比較字母、數(shù)字和空格。如果 fruits 文件與示例 1 相同,那么 sort 命令顯示: ORANGEPersimmonappleapple%%bananabananaorange-d 標(biāo)志忽略 %(百分號)字符,因為它不是個字母、數(shù)字或空格。(即 %%banana 被 banana 取代)。
要將包含大寫字母和具有類似小寫行的特殊字符行分組,請輸入:
sort -d -f fruits
-d 標(biāo)志忽略特殊字符,-f 標(biāo)志忽略大小寫差異。將 LC_ALL、LC_COLLATE 或 LANG 環(huán)境變量設(shè)置為 C 的情況下,fruits 文件的輸出結(jié)果變?yōu)椋?appleapple%%bananabananaORANGEorangePersimmon
斑禿原因及治療玉林醫(yī)院哪家白癜風(fēng)醫(yī)院好
體質(zhì)虛弱容易生病怎么調(diào)理
- 微軟大受歡迎《壯志凌云 2:獨行俠》聯(lián)名款 Xbox Series S 主機
- 設(shè)老年群體專場+送苗進(jìn)社區(qū) 原以涇街道頻出實招推進(jìn)疫苗接種
- 容易被忽略的五位神仙,卻是取經(jīng)順利的最大保障,他們是誰?
- 立秋了,這4濃湯適合“貼秋膘”,營養(yǎng)足口味好不長肉,舒服入秋
- 愛爾蘭博主brittanybathgate基礎(chǔ)單品搭 158cm矮個子女生的穿搭技巧
- 臺球世錦賽:奧沙利文13-5淘汰馬奎爾,第13次殺進(jìn)世錦賽四強
- 《重生之門》正在熱播,王俊凱張譯二搭乘的《萬里歸途》又低調(diào)開機
- 愛吃粉條,認(rèn)準(zhǔn)這5種買準(zhǔn)沒錯,質(zhì)量好,廉價,不會買到假貨
- 內(nèi)蒙古下半年冷空氣來襲!呼和浩特的天氣是這樣的……
- 奧諾哈:看過曼聯(lián)本賽季比賽的人都知道,他們永遠(yuǎn)不會放棄
- 電視主持王冰冰遭人肉,網(wǎng)友稱其在一起還離過婚,Twitter拿王思聰反駁
- 多少人敗在辭職被領(lǐng)導(dǎo)算計上,這3句話剝肚里也別說,否則必吃虧