精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Bash技巧:把變量賦值為換行符,判斷文件是否以換行符結尾

系統 Linux
在 bash 中,如果要把變量賦值為換行符,寫為 '\n' 沒有效果,需要寫為 $'\n'。一起來看看吧。

 [[338354]]

把變量賦值為換行符

在 bash 中,如果要把變量賦值為換行符,寫為 '\n' 沒有效果,需要寫為 $'\n'。具體舉例如下: 

  1. newline='\n'  
  2. $ echo $newline  
  3. \n  
  4. newline=$'\n'  
  5. $ echo $newline 

可以看到,把 newline 變量賦值為 'n',得到的是 n 這個字符串,而不是換行符自身。

這是 bash 和 C 語言不一樣的地方。

在 C 語言中,'n' 對應換行符自身,只有一個字符;而 "n" 對應一個字符串。

但是在 bash 中,'n' 也是對應一個字符串。

把 newline 賦值為 $'\n',就能獲取到換行符自身。查看 man bash 對這個寫法的說明如下:

Words of the form $'string' are treated specially. The word expands to string, with backslash-escaped characters replaced as specified by the ANSI C standard. Backslash escape sequences, if present, are decoded as follows: 

  1. \n     new line  
  2. \r     carriage return  
  3. \t     horizontal tab  
  4. \'     single quote 

The expanded result is single-quoted, as if the dollar sign had not been present.

即,$'string' 這個寫法可以使用 C 語言的轉義字符來獲取到對應的字符自身。

判斷文件的最后一行是否以換行符結尾

在 Linux 中,可以使用下面命令來判斷文件的最后一行是否以換行符結尾: 

  1. test -n "$(tail filename -c 1)" 

這里使用 tail filename -c 1 命令獲取到 filename 文件的最后一個字符。

實際使用時,需要把 filename 換成具體要判斷的文件名。

tail 命令可以獲取文件末尾的內容。它的 -c 選項指定要獲取文件末尾的多少個字節。

查看 man tail 對 -c 選項的說明如下:

-c, --bytes=K

output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file.

即,tail -c 1 命令指定獲取所給文件的最后一個字符。

獲取到文件的最后一個字符后,要判斷該字符是不是換行符。這里不能直接判斷該字符是否等于換行符,而是要判斷該字符是否為空。

原因在于,使用 $(tail filename -c 1) 命令替換來獲取內部命令的輸出結果時,bash 會去掉末尾的換行符。

所以當文件的最后一行以換行符結尾時,$(tail filename -c 1) 命令替換會去掉獲取到的換行符,最終結果為空,并不會返回換行符自身。

查看 man bash 對命令替換(command substitution)的說明如下

Command substitution allows the output of a command to replace the command name. There are two forms: 

  1. $(command)  
  2. or  
  3. `command` 

Bash performs the expansion by executing command and replacing the command substitution with the standard output of the command, with any trailing newlines deleted. Embedded newlines are not deleted, but they may be removed during word splitting.

可以看到,經過命令替換后,會去掉末尾的換行符。

由于 $(tail filename -c 1) 命令替換會去掉末尾的換行符,這里使用 test -n 來判斷最終結果是否為空字符串。

如果文件最后一行以換行符結尾,那么 $(tail filename -c 1) 的結果為空,test -n 命令會返回 1,也就是 false。

如果文件最后一行沒有以換行符結尾,那么 $(tail filename -c 1) 的結果不為空,test -n 命令會返回 0,也就是 true。

可以根據實際需要,改用 test -z 來判斷。如果文件最后一行以換行符結尾,$(tail filename -c 1) 的結果為空,test -z 命令會返回 0,也就是 true。 

 

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2009-09-02 14:47:44

C#換行符

2009-09-03 15:50:20

C#回車換行符

2010-09-28 16:02:46

替換SQL字段

2011-01-26 11:19:55

Linux認證

2010-08-12 10:26:12

FlexXML

2021-10-19 07:27:08

Unix Dos轉換

2021-12-14 07:05:00

SQL語句數據庫

2009-09-02 17:19:43

C#換行連接符

2011-08-11 18:19:32

col中文man

2017-10-24 14:13:56

Java正則表達式

2023-10-20 15:58:27

Python刪除指定字符

2009-09-02 14:30:35

C#換行符號

2021-05-11 22:24:56

C++符號Tab

2009-07-06 15:23:18

JSP換行

2022-03-08 09:09:08

Go塊讀取音視頻

2009-11-26 14:23:10

PHP正則模式修正符

2022-11-03 08:13:52

echo 命令Linux

2010-01-07 18:32:38

JSON

2010-01-18 10:34:21

C++編譯器

2024-04-16 00:11:05

Python換行符測試
點贊
收藏

51CTO技術棧公眾號

亚洲精品国产av| 中文乱码字幕高清一区二区| 国产社区精品视频| 久久人人97超碰com| 国产99在线|中文| 成年人视频软件| 给我免费播放日韩视频| 一本色道久久综合精品竹菊| 亚洲欧洲精品在线观看| 亚洲av无码乱码国产精品久久| 亚洲精品视频啊美女在线直播| 亚洲视频在线免费看| 永久免费黄色片| 欧美极品影院| 亚洲国产成人av网| 亚洲看片网站| 午夜在线观看视频18| 久久精品30| 欧美精品九九久久| 国产又黄又粗又猛又爽的| 久久超级碰碰| 日韩欧美一区二区在线视频| 日韩av在线综合| 欧美14一18处毛片| 国产精品国产精品国产专区不蜜| 国内精品视频免费| 精品国产无码一区二区三区| 日韩av在线免费观看不卡| 欧美国产乱视频| 黄色录像免费观看| 成人久久一区| 亚洲欧美日韩在线高清直播| av漫画在线观看| 国产精品日本一区二区三区在线| 色天天综合久久久久综合片| 久久久亚洲国产精品| 宅男网站在线免费观看| 国产精品毛片高清在线完整版| 欧美中文娱乐网| 青青草观看免费视频在线| 国产精品羞羞答答xxdd| 成人黄色大片在线免费观看| 日韩欧美国产另类| 久久久夜精品| 国产精品扒开腿做爽爽爽的视频| 久久久精品免费看| 99国产精品视频免费观看一公开 | 欧美性视频一区二区三区| 国产成人在线免费看| 美女尤物在线视频| 亚洲一区影音先锋| 免费一级淫片aaa片毛片a级| 18加网站在线| 亚洲欧美偷拍卡通变态| 丰满女人性猛交| а√天堂在线官网| 一区二区三区四区在线| 男人添女人下部视频免费| 在线观看午夜av| 夜夜精品视频一区二区| av日韩在线看| 国产盗摄——sm在线视频| 亚洲成a人v欧美综合天堂| 国产原创中文在线观看| 亚洲性色av| 色94色欧美sute亚洲线路一ni| 午夜精品久久久内射近拍高清| 在线成人av观看| 欧美性色黄大片| 久久久久久久久久一区二区| 91精品亚洲一区在线观看| 欧美色图免费看| 尤物网站在线看| 丁香五月缴情综合网| 欧美xxxx老人做受| 亚洲最大的黄色网| 欧美女优在线视频| 日韩中文字幕国产| 男女免费视频网站| 久久不射网站| 成人精品久久av网站| 精品人妻一区二区三区蜜桃| av色综合久久天堂av综合| 欧美精品尤物在线| 日本a在线播放| 亚洲综合在线五月| 免费av网址在线| 日本成人手机在线| 亚洲欧洲在线播放| 国产盗摄一区二区三区在线| 91久久亚洲| 国产精品久在线观看| 99热这里只有精品在线| 99久久国产综合精品女不卡| 亚洲欧美日韩另类精品一区二区三区| 少妇视频在线| 欧美丝袜第三区| 男女性杂交内射妇女bbwxz| 美女少妇全过程你懂的久久| 色妞欧美日韩在线| 欧美三日本三级少妇99| 精品一区二区三区影院在线午夜| 国产精品毛片va一区二区三区| 国产永久免费高清在线观看| 亚洲精品国产一区二区精华液 | 久久国产黄色片| 久88久久88久久久| 欧美精品一区二区三区在线四季| 成人在线直播| 色哦色哦哦色天天综合| 女教师高潮黄又色视频| 欧美精品一二| 91a在线视频| www久久久com| 日韩毛片精品高清免费| 免费大片在线观看| 韩国精品福利一区二区三区| 久久久国产精品亚洲一区| 亚洲午夜18毛片在线看| 国产 欧美在线| 一区二区不卡视频| 欧美日韩女优| 亚洲天堂网站在线观看视频| 日韩精品一区三区| 国产精品一区二区在线观看不卡| 日韩色妇久久av| 亚洲天堂资源| 亚洲精品国产综合久久| 亚洲国产精品久| 国模少妇一区二区三区| 亚洲不卡1区| 国产精品亚洲一区二区三区在线观看| 精品国产第一区二区三区观看体验| 国产精品麻豆免费版现看视频| 性欧美暴力猛交另类hd| 国产亚洲精品自在久久| 黑人玩欧美人三根一起进| 7777精品久久久大香线蕉| 女人十八毛片嫩草av| 久久久久99| 欧美在线一二三区| 精品免费av在线| 亚洲午夜国产成人av电影男同| 免费在线不卡视频| 91免费版在线看| 能在线观看的av| 西野翔中文久久精品字幕| 91精品国产91久久久久久久久| 日本精品一二区| 精品日韩中文字幕| 日本xxx在线播放| 久久黄色网页| 亚洲欧美日韩国产成人综合一二三区| 国产69精品久久久久9999人| 一个色综合导航| 亚洲自拍第二页| 亚洲欧洲99久久| 超级砰砰砰97免费观看最新一期 | 国产美女无遮挡永久免费| 中文字幕一区在线| 中文字幕第10页| 亚洲视频久久| 精品无码久久久久久久动漫| 蜜桃视频m3u8在线观看| 亚洲欧美国产精品| 一区二区视频免费| 亚洲女人的天堂| 免费黄色三级网站| 久久一区视频| 在线观看免费黄色片| 中文字幕日韩在线| 992tv在线成人免费观看| 欧美少妇另类| 欧美日韩精品三区| 老女人性淫交视频| 91亚洲国产成人精品一区二区三 | 亚洲午夜av久久乱码| 曰批又黄又爽免费视频| 又紧又大又爽精品一区二区| 催眠调教后宫乱淫校园| 午夜在线精品| 特级黄色录像片| 偷拍自拍亚洲色图| 国产精品综合不卡av| 欧美xxxx免费虐| 亚洲毛片在线观看| 国产绿帽一区二区三区| 亚洲18色成人| 国精产品视频一二二区| 岛国av在线一区| 国产福利影院在线观看| 欧美+日本+国产+在线a∨观看| 九九九久久久| 国内不卡的一区二区三区中文字幕 | 黄av在线免费观看| 亚洲激情视频在线播放| 夜夜嗨av禁果av粉嫩avhd| 亚洲国产三级在线| 午夜影院黄色片| 97精品久久久午夜一区二区三区 | 久久久影视传媒| 免费人成视频在线播放| 爽好久久久欧美精品| 国产91porn| 日本激情一区| 久久手机视频| 波多野结衣欧美| 国产免费一区视频观看免费 | 最近高清中文在线字幕在线观看| 精品少妇一区二区三区在线视频 | 免费在线观看日韩欧美| 日本中文字幕亚洲| 93在线视频精品免费观看| 久久久婷婷一区二区三区不卡| 国产精品igao视频网网址不卡日韩| 欧美亚洲另类视频| 国产天堂在线播放视频| 久久亚洲精品一区| 日本在线免费网| 亚洲香蕉伊综合在人在线视看| 风流老熟女一区二区三区| 欧美日韩国产天堂| 国产免费www| 在线精品视频免费播放| 欧美三级午夜理伦| 亚洲777理论| 日本少妇性生活| 亚洲五月六月丁香激情| 精国产品一区二区三区a片| 超碰97人人干| 2020日本不卡一区二区视频| 插我舔内射18免费视频| 丁香另类激情小说| 亚洲少妇一区二区三区| 国产成人午夜精品5599| 伦伦影院午夜理论片| 国产原创一区二区| 成人av毛片在线观看| 麻豆一区二区99久久久久| 国产福利一区视频| 三级成人在线视频| 一区二区三区国产免费| 日韩在线播放一区二区| 日韩中文字幕组| 青青草91视频| 一区二区三区网址| 老司机精品视频在线| 亚洲一级免费观看| 久久99精品久久久久婷婷| 亚洲精品综合在线观看| 精品中文av资源站在线观看| av免费一区二区| 狠狠色狠狠色综合系列| 超碰91在线播放| 国产91精品在线观看| 蜜臀视频在线观看| 91丨九色丨国产丨porny| 免费看黄色aaaaaa 片| 久久久久久久久99精品| 一本色道久久综合亚洲精品图片| 久久人人超碰精品| 亚洲色图27p| 亚洲人成小说网站色在线| 欧美激情国产精品免费| 性做久久久久久免费观看| 亚洲高清毛片一区二区| 欧美体内she精视频| 国产精品怡红院| 亚洲第一区第一页| 飘雪影视在线观看免费观看| 中文字幕日韩综合av| 自拍亚洲图区| 欧美性视频精品| 色8久久久久| 国新精品乱码一区二区三区18| 尤物tv在线精品| 欧美日韩在线免费观看视频| 欧美三级黄美女| 日本黄网站免费| 国产在线一区观看| 久久亚洲AV成人无码国产野外| 国产网站一区二区三区| 亚洲色图综合区| 色综合 综合色| 精品国产99久久久久久宅男i| 亚洲国产成人久久综合| eeuss影院在线观看| 欧美国产亚洲精品久久久8v| 肉色欧美久久久久久久免费看| 91色精品视频在线| 日韩精选在线| 国产911在线观看| 久久久久网站| 性感美女一区二区三区| 国产午夜精品久久久久久免费视| 日本少妇高清视频| 91久久精品日日躁夜夜躁欧美| 超碰在线观看av| 在线亚洲午夜片av大片| 都市激情久久综合| 国产原创欧美精品| 曰本一区二区三区视频| 欧洲精品在线播放| 久久精品99久久久| 午夜理伦三级做爰电影| 一区二区三区中文字幕精品精品 | 蜜桃视频在线观看免费视频| 成人av色在线观看| 免费一区二区三区视频导航| 久久人妻无码一区二区| 青椒成人免费视频| 白白色免费视频| 午夜欧美在线一二页| 国产男女无套免费网站| 这里精品视频免费| 欧美一级大片| 精品无码久久久久国产| 狠狠88综合久久久久综合网| 97人人爽人人| 中日韩av电影| 欧美日韩a v| 精品无人国产偷自产在线| 国产在线xxx| 国产不卡一区二区在线观看| 久久综合av| 亚洲欧美久久久久| 国产人成一区二区三区影院| 亚洲AV无码成人精品区东京热| 亚洲激情成人网| 看黄在线观看| 激情小说网站亚洲综合网 | 三级a三级三级三级a十八发禁止| 91在线看国产| 影音先锋在线国产| 亚洲欧美综合图区| 婷婷激情一区| 日韩中文字幕av在线| 视频在线观看一区二区三区| 不卡一区二区在线观看| 日韩欧美一区视频| 欧美理论在线观看| 国产97在线|亚洲| 国产一卡不卡| 日本xxxx黄色| 亚洲欧洲一区二区三区| 一本色道久久综合无码人妻| 中文字幕亚洲字幕| 精品国产乱码一区二区三区| 992tv快乐视频| 丰满放荡岳乱妇91ww| 日本三级中文字幕| 亚洲欧洲国产伦综合| 麻豆精品蜜桃| 亚洲人成影视在线观看| 精品中文字幕一区二区| 2018天天弄| 亚洲精品在线观| 一区二区精品伦理...| 日韩精品一区二区三区丰满 | 一本久道久久综合中文字幕| 巨骚激情综合| 国产一区在线播放| 欧美精选一区| 毛茸茸多毛bbb毛多视频| 91国偷自产一区二区使用方法| 香蕉视频免费在线播放| 97人人模人人爽人人喊38tv| 99精品国产在热久久婷婷| 国产人妻一区二区| 在线播放91灌醉迷j高跟美女 | 一本一本久久a久久精品综合麻豆| av电影在线网| eeuss一区二区三区| 美女诱惑一区| 男人av资源站| 亚洲成色999久久网站| 另类中文字幕国产精品| 日韩国产精品毛片| 99国产一区二区三精品乱码| 奴色虐av一区二区三区| 欧美超级乱淫片喷水| 西野翔中文久久精品国产| 男人的天堂最新网址| 亚洲国产精品久久不卡毛片 | 亚洲午夜私人影院| 国产在线91| 国产精品免费区二区三区观看| 久久久人人人| 欧美成人一二三区| 亚洲网站在线看| 香蕉免费一区二区三区在线观看 | 国产精品一区二区久久不卡| 日韩精品人妻中文字幕| 日韩中文字幕不卡视频| 久本草在线中文字幕亚洲| www.com黄色片| 欧美日韩在线另类| 亚洲丝袜一区| 亚洲三区四区| 久久综合给合久久狠狠狠97色69|