亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

深入理解Bash中的尖括號(適合初學者)

2024-09-01 13:56:34
字體:
來源:轉載
供稿:網友

前言

Bash 內置了很多諸如 ls、cd、mv 這樣的重要的命令,也有很多諸如 grep、awk、sed 這些有用的工具。但除此之外,其實 Bash 中還有很多可以起到膠水作用的標點符號,例如點號(.)、逗號(,)、括號(<>)、引號(")之類。下面我們就來看一下可以用來進行數據轉換和轉移的尖括號(<>)。

轉移數據

如果你對其它編程語言有所了解,你會知道尖括號 < 和 > 一般是作為邏輯運算符,用來比較兩個值之間的大小關系。如果你還編寫 HTML,尖括號作為各種標簽的一部分,就更不會讓你感到陌生了。

在 shell 腳本語言中,尖括號可以將數據從一個地方轉移到另一個地方。例如可以這樣把數據存放到一個文件當中:

ls > dir_content.txt

在上面的例子中,> 符號讓 shell 將 ls 命令的輸出結果寫入到 dir_content.txt 里,而不是直接顯示在命令行中。需要注意的是,如果 dir_content.txt 這個文件不存在,Bash 會為你創建;但是如果 dir_content.txt 是一個已有的非空文件,它的內容就會被覆蓋掉。所以執行類似的操作之前務必謹慎。

你也可以不使用 > 而使用 >>,這樣就可以把新的數據追加到文件的末端而不會覆蓋掉文件中已有的數據了。例如:

ls $HOME > dir_content.txt; wc -l dir_content.txt >> dir_content.txt

在這串命令里,首先將家目錄的內容寫入到 dir_content.txt 文件中,然后使用 wc -l 計算出 dir_content.txt 文件的行數(也就是家目錄中的文件數)并追加到 dir_content.txt 的末尾。

在我的機器上執行上述命令之后,dir_content.txt 的內容會是以下這樣:

Applications
bin
cloud
Desktop
Documents
Downloads
Games
ISOs
lib
logs
Music
OpenSCAD
Pictures
Public
Templates
test_dir
Videos
17 dir_content.txt

你可以將 > 和 >> 作為箭頭來理解。當然,這個箭頭的指向也可以反過來。例如,Coen brothers (LCTT 譯注:科恩兄弟,一個美國電影導演組合)的一些演員以及他們出演電影的次數保存在 CBActors 文件中,就像這樣:

John Goodman 5
John Turturro 3
George Clooney 2
Frances McDormand 6
Steve Buscemi 5
Jon Polito 4
Tony Shalhoub 3
James Gandolfini 1

你可以執行這樣的命令:

sort < CBActorsFrances McDormand 6 # 你會得到這樣的輸出George Clooney 2James Gandolfini 1John Goodman 5John Turturro 3Jon Polito 4Steve Buscemi 5Tony Shalhoub 3

就可以使用 sort 命令將這個列表按照字母順序輸出。但是,sort 命令本來就可以接受傳入一個文件,因此在這里使用 < 會略顯多余,直接執行 sort CBActors 就可以得到期望的結果。

如果你想知道 Coens 最喜歡的演員是誰,你可以這樣操作。首先:

while read name surname films; do echo $films $name $surname > filmsfirst.txt; done < CBActors

上面這串命令寫在多行中可能會比較易讀:

while read name surname films;/doecho $films $name $surname >> filmsfirst;/done < CBActors

下面來分析一下這些命令做了什么:

  • while …; do … done 是一個循環結構。當 while 后面的條件成立時,do 和 done 之間的部分會一直重復執行;
  • read 語句會按行讀入內容。read 會從標準輸入中持續讀入,直到沒有內容可讀入;
  • CBActors 文件的內容會通過 < 從標準輸入中讀入,因此 while 循環會將 CBActors 文件逐行完整讀入;
  • read 命令可以按照空格將每一行內容劃分為三個字段,然后分別將這三個字段賦值給 name、surname 和 films 三個變量,這樣就可以很方便地通過 echo $films $name $surname >> filmsfirst;/ 來重新排列幾個字段的放置順序并存放到 filmfirst 文件里面了。

執行完以后,查看 filmsfirst 文件,內容會是這樣的:

5 John Goodman
3 John Turturro
2 George Clooney
6 Frances McDormand
5 Steve Buscemi
4 Jon Polito
3 Tony Shalhoub
1 James Gandolfini

這時候再使用 sort 命令:

sort -r filmsfirst

就可以看到 Coens 最喜歡的演員是 Frances McDormand 了。(-r 參數表示降序排列,因此 McDormand 會排在最前面)

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩久久精品成人| 精品久久久久久久久久久久久久| 久久精品最新地址| 日韩美女福利视频| 欧美激情一区二区久久久| 亚洲欧美日本伦理| 亚洲精品午夜精品| 欧美日韩精品在线视频| 欧美视频一二三| 欧美视频在线看| 国产精品成人免费电影| 午夜精品美女自拍福到在线| 国产亚洲视频在线观看| 欧美日本在线视频中文字字幕| 日韩精品中文字幕久久臀| 欧美第一淫aaasss性| 亚洲一区二区福利| 精品欧美国产一区二区三区| 欧美专区国产专区| 亚洲第一精品电影| 久久91精品国产91久久久| 国产91ⅴ在线精品免费观看| 97久久久久久| 国产福利精品视频| 欧美电影在线观看高清| 亚洲香蕉成人av网站在线观看| 91精品国产九九九久久久亚洲| 亚洲欧美激情精品一区二区| 亚洲视频在线观看网站| 国产精品嫩草影院一区二区| 日韩精品在线免费观看| 亚洲区一区二区| 亚洲国产精品高清久久久| 亚洲欧美中文字幕| 国产又爽又黄的激情精品视频| 久久久综合av| 91在线观看免费高清| 欧美黄色三级网站| 国产午夜精品视频| 日韩小视频在线| 九九精品在线播放| 日韩在线观看成人| 欧美怡红院视频一区二区三区| 国产精品69精品一区二区三区| 久久91超碰青草是什么| 亚洲自拍另类欧美丝袜| 亚洲а∨天堂久久精品9966| 欧美电影院免费观看| 日韩有码视频在线| 欧美一区二区.| 久久韩剧网电视剧| 日韩av在线天堂网| 韩国视频理论视频久久| 亚洲男人天天操| 91久久久国产精品| 亚洲高清在线观看| 国产裸体写真av一区二区| 欧美成人精品xxx| 国产精品久久久久9999| 中文字幕亚洲一区二区三区| 国产在线视频欧美| 欧美性xxxxx极品| 日韩精品极品视频| 国产99久久精品一区二区| 亚洲最新av网址| 日韩欧美在线字幕| 欧美大胆在线视频| 色黄久久久久久| 一区二区国产精品视频| 国产精品美女主播在线观看纯欲| 日本sm极度另类视频| 成人激情视频小说免费下载| 国内精品模特av私拍在线观看| 久久久久久久久久久久久久久久久久av| 欧美激情亚洲视频| 91在线观看免费观看| 欧美噜噜久久久xxx| 日韩精品一区二区三区第95| 欧美美女操人视频| 欧美最顶级丰满的aⅴ艳星| 亚洲综合一区二区不卡| 久久久噜噜噜久久久| 欧美性猛交xxxx免费看| 韩国三级电影久久久久久| 懂色av影视一区二区三区| 亚洲女成人图区| 91地址最新发布| 久久久久久久亚洲精品| 欧美成人免费网| 欧美成人精品在线视频| 伊人久久免费视频| 奇米四色中文综合久久| 欧美日韩在线视频一区| 福利二区91精品bt7086| 日本国产欧美一区二区三区| 国产69精品久久久久9999| 亚洲一区二区自拍| 美日韩精品免费视频| 欧美激情综合亚洲一二区| 国产精品美乳在线观看| 亚洲欧美国产精品va在线观看| 久久久亚洲成人| 亚洲国产精品高清久久久| 国产精品久久久久久久久久三级| 国产精品亚洲视频在线观看| 国产精品video| 亚洲第一天堂av| 在线一区二区日韩| 国产精品海角社区在线观看| 久久精品国产91精品亚洲| 91久久综合亚洲鲁鲁五月天| 国产有码在线一区二区视频| 国产精品成人免费视频| 在线观看不卡av| 国产91色在线播放| 国语自产精品视频在线看| 日韩成人网免费视频| 在线视频欧美日韩| 97视频在线观看视频免费视频| 日韩在线观看免费全集电视剧网站| 国产一区二区三区18| 国产高清在线不卡| 久久精品福利视频| 午夜精品久久久久久久99热| 亚洲欧美日韩综合| 6080yy精品一区二区三区| 成人a视频在线观看| 色悠悠国产精品| 亚洲欧美日韩精品久久奇米色影视| 美女视频久久黄| 中文字幕欧美日韩va免费视频| 久久久久久久久综合| 在线电影中文日韩| 九九久久久久久久久激情| 久久精品色欧美aⅴ一区二区| 在线日韩精品视频| 国产成+人+综合+亚洲欧洲| 国产精品毛片a∨一区二区三区|国| 亚洲男人天堂2023| 久久精品国产亚洲精品2020| 久久精品视频播放| 国产精品嫩草视频| 欧美精品性视频| 久久久久北条麻妃免费看| 91热福利电影| 97精品国产aⅴ7777| 国内精品美女av在线播放| 亚洲有声小说3d| 欧美精品videossex88| 亚洲欧美激情精品一区二区| 国产欧美日韩精品在线观看| 亚洲精品美女网站| 亚洲精品在线观看www| 亚洲色图av在线| 日韩欧美大尺度| 亚洲尤物视频网| 亚洲人成77777在线观看网| 成人亚洲激情网| 亚洲精品综合精品自拍| 97久久超碰福利国产精品…| 欧美性受xxx| 国产成人高潮免费观看精品| 日韩三级影视基地| 久久视频国产精品免费视频在线|