婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Bash技巧:把變量賦值為換行符(判斷文件是否以換行符結尾)

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

熱門標簽:蘭州電銷機器人加盟 沈陽ai電銷智能機器人 電商外呼系統排名 電話機器人對家居行業幫助大嗎 黑暗之魂3地圖標注 如何申請400的電話呀 AI智能電銷機器人壞處 地圖標注審核周期 合肥電銷外呼系統供應商

變量賦值為換行符

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

$ newline='\n'
$ echo $newline
\n
$ newline=$'\n'
$ 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:

 \n  new line
 \r  carriage return
 \t  horizontal tab
 \'  single quote

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

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

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

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

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:

  $(command)
 or
  `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。

到此這篇關于Bash技巧:把變量賦值為換行符,判斷文件是否以換行符結尾的文章就介紹到這了,更多相關變量賦值為換行符內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • php去除換行符的方法小結(PHP_EOL變量的使用)

標簽:常州 隴南 淮南 黔南 河北 黔南 河池 通遼

巨人網絡通訊聲明:本文標題《Bash技巧:把變量賦值為換行符(判斷文件是否以換行符結尾)》,本文關鍵詞  Bash,技巧,把,變量,賦值,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Bash技巧:把變量賦值為換行符(判斷文件是否以換行符結尾)》相關的同類信息!
  • 本頁收集關于Bash技巧:把變量賦值為換行符(判斷文件是否以換行符結尾)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲精品福利视频网站| 亚洲国产精品一区二区www在线| 欧美激情一区二区三区不卡 | 欧美一区二区三区日韩视频| 久久亚洲综合色| 亚洲在线观看免费| 成人一区二区在线观看| 日韩欧美一区二区在线视频| 亚洲综合偷拍欧美一区色| 国产成人av电影在线播放| 欧美一级高清大全免费观看| 一区二区三区欧美日韩| 成人精品国产免费网站| 精品99一区二区三区| 日韩中文字幕av电影| 色八戒一区二区三区| 国产精品久久久久久久久久久免费看 | 麻豆专区一区二区三区四区五区| 色欧美88888久久久久久影院| 久久精品一区二区三区av| 日本三级亚洲精品| 欧美日韩你懂的| 亚洲国产视频a| 欧美亚洲综合另类| 亚洲综合男人的天堂| 色素色在线综合| 一区二区三区视频在线观看| 91免费版在线看| 亚洲精品日韩一| 99re成人精品视频| 亚洲色图一区二区三区| 91啪亚洲精品| 亚洲制服丝袜在线| 色88888久久久久久影院野外| 自拍偷拍国产亚洲| 99久久精品国产观看| 亚洲丝袜制服诱惑| 91片在线免费观看| 亚洲国产精品自拍| 91精品国产色综合久久不卡蜜臀| 日韩国产精品久久| 精品国偷自产国产一区| 国产综合色视频| 国产精品免费视频一区| 99麻豆久久久国产精品免费优播| 亚洲精品久久久蜜桃| 欧美日韩国产综合草草| 日本不卡一区二区三区高清视频| 欧美一区国产二区| 国产一区二区在线观看视频| 亚洲国产电影在线观看| 不卡一二三区首页| 亚洲第一激情av| 久久在线免费观看| 97精品国产97久久久久久久久久久久| 亚洲欧美色一区| 日韩女优视频免费观看| 成人丝袜高跟foot| 亚洲最大成人综合| 日韩欧美在线影院| 成人一区在线看| 午夜精品一区二区三区免费视频| 精品国产百合女同互慰| 91污在线观看| 九九久久精品视频| 亚洲免费在线看| 亚洲精品一区二区三区蜜桃下载| av不卡在线播放| 美日韩一区二区三区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产成人h网站| 亚洲国产欧美在线| 337p日本欧洲亚洲大胆精品| 日本道在线观看一区二区| 精品亚洲国产成人av制服丝袜| 亚洲狠狠丁香婷婷综合久久久| 日韩精品中文字幕在线不卡尤物 | 日日摸夜夜添夜夜添精品视频| 久久亚洲影视婷婷| 欧美精品一二三| 91色|porny| 国产成人av电影在线| 日本不卡一二三| 一区二区激情视频| 中文字幕乱码一区二区免费| 91精品国产手机| 欧美亚洲图片小说| 91蜜桃在线观看| 成人av电影在线播放| 国产一区二区三区最好精华液| 亚洲一级在线观看| 亚洲色欲色欲www| 亚洲国产激情av| 久久综合久久综合久久| 555夜色666亚洲国产免| 色哟哟国产精品| 91视频免费播放| 91在线云播放| av中文字幕不卡| 成人禁用看黄a在线| 国产老妇另类xxxxx| 久久精品免费看| 丝袜亚洲另类欧美| 午夜欧美一区二区三区在线播放| 亚洲欧美一区二区视频| 国产精品九色蝌蚪自拍| 欧美国产欧美综合| 日本一区二区免费在线观看视频| 亚洲免费在线看| 一区二区三区在线视频免费观看| 国产精品免费网站在线观看| 亚洲国产高清aⅴ视频| 中文无字幕一区二区三区| 久久久久9999亚洲精品| 久久久久久久久岛国免费| 久久亚洲一区二区三区四区| 精品国产sm最大网站| 久久九九影视网| 国产精品久久久久三级| 国产精品国产三级国产aⅴ入口| 国产精品不卡视频| 一区二区三区在线观看国产| 亚洲国产精品视频| 蜜臀久久99精品久久久久久9| 看电视剧不卡顿的网站| 国产精品白丝jk白祙喷水网站| 国产成人在线影院 | 成人免费三级在线| 成人看片黄a免费看在线| 99久久99久久免费精品蜜臀| 欧洲视频一区二区| 91精品国产综合久久久蜜臀粉嫩 | 欧美日韩国产在线观看| 日韩一区二区中文字幕| 26uuu久久综合| 中文字幕制服丝袜成人av| 亚洲乱码精品一二三四区日韩在线| 亚洲国产成人tv| 美女免费视频一区| 成人教育av在线| 精品视频1区2区3区| 精品成人免费观看| 一区二区在线观看视频| 欧美aa在线视频| 成人不卡免费av| 欧美一级艳片视频免费观看| 国产精品私人自拍| 五月婷婷综合网| 成人毛片在线观看| 3d成人动漫网站| 国产精品每日更新在线播放网址| 一区二区三区中文在线观看| 国内精品不卡在线| 欧美三级日韩三级| 国产片一区二区三区| 日韩精品一二三| 色综合久久久久久久久久久| 日韩视频免费观看高清完整版| 亚洲欧洲日产国码二区| 青青草精品视频| 91成人国产精品| 国产精品毛片高清在线完整版 | 91视视频在线观看入口直接观看www| 在线综合视频播放| 亚洲人成精品久久久久久| 国产一区视频在线看| 欧美三级资源在线| 中文字幕在线不卡一区| 国内成人免费视频| 欧美日韩高清在线播放| 亚洲少妇30p| aaa亚洲精品| 久久午夜羞羞影院免费观看| 天堂成人国产精品一区| 色偷偷88欧美精品久久久| 国产女同性恋一区二区| 麻豆中文一区二区| 日韩一区二区在线免费观看| 亚洲无线码一区二区三区| jizzjizzjizz欧美| 久久久久久一级片| 狠狠色综合日日| 日韩欧美专区在线| 久久国产福利国产秒拍| 91.麻豆视频| 五月婷婷久久综合| 7777精品伊人久久久大香线蕉超级流畅 | 欧美亚洲另类激情小说| 国产精品乱码一区二三区小蝌蚪| 玖玖九九国产精品| 欧美xxxx在线观看| 九九在线精品视频| 久久品道一品道久久精品| 激情综合网最新| 精品国产免费一区二区三区四区| 日本欧美一区二区三区乱码| 91精品国产黑色紧身裤美女| 天堂影院一区二区| 欧美一级片在线看| 精品系列免费在线观看|