婷婷综合国产,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
    色婷婷综合久久久中文一区二区| 亚洲一区二区欧美日韩| 国产亚洲精品久| 亚洲午夜久久久久久久久电影网| 国产一区在线观看视频| 色婷婷av一区| 久久综合久久综合久久| 亚洲精品中文在线观看| 97se亚洲国产综合自在线不卡| 国产午夜精品理论片a级大结局| 久久不见久久见免费视频7| 欧美精品一二三| 蜜桃视频第一区免费观看| 欧美α欧美αv大片| 蜜桃久久久久久| 国产日韩欧美综合在线| 国产丶欧美丶日本不卡视频| 欧美大片在线观看一区二区| 韩国成人福利片在线播放| 久久先锋影音av| 91香蕉视频mp4| 亚洲成av人综合在线观看| 欧美一级在线免费| 国产精品综合一区二区| 亚洲精品国久久99热| 欧美精品在线观看播放| 另类人妖一区二区av| 中文字幕精品一区二区精品绿巨人 | 午夜成人免费电影| 日韩午夜三级在线| 国产传媒欧美日韩成人| 亚洲午夜一二三区视频| 欧美日韩国产经典色站一区二区三区 | 欧美三级在线看| 亚洲国产一区在线观看| 日韩欧美一级片| 国产福利精品导航| 亚洲视频一区二区在线| 91精品在线免费观看| 国产91色综合久久免费分享| 午夜在线成人av| 中文字幕高清不卡| 91精品国产乱码久久蜜臀| 色婷婷精品久久二区二区蜜臂av | 91精品国产91久久综合桃花| 中文字幕精品一区| 91精品国产91久久久久久一区二区 | 欧美三级韩国三级日本一级| 春色校园综合激情亚洲| 亚洲一区二区影院| 日韩欧美高清dvd碟片| 国产超碰在线一区| 尤物在线观看一区| 欧美性色黄大片手机版| 免费成人结看片| 亚洲国产激情av| 在线一区二区三区| 婷婷中文字幕一区三区| 2021中文字幕一区亚洲| 在线观看日产精品| 国产乱码精品一区二区三区av | 欧美日韩免费在线视频| 国产精品一区二区果冻传媒| 亚洲午夜精品网| 久久久精品国产免费观看同学| 色噜噜偷拍精品综合在线| 久久疯狂做爰流白浆xx| 亚洲国产精品久久久久秋霞影院| 久久久久久久免费视频了| 在线观看av不卡| www.性欧美| 国产精品一二三四五| 日韩av二区在线播放| 一区二区三区在线看| 国产精品国产三级国产普通话蜜臀 | 日本不卡高清视频| 亚洲视频小说图片| 久久久精品国产免费观看同学| 欧美日韩另类一区| 91小视频免费观看| 成人综合婷婷国产精品久久 | 日日嗨av一区二区三区四区| 中文字幕一区av| 26uuu国产在线精品一区二区| 欧美日韩一区二区在线观看| 91视频观看免费| 成人激情午夜影院| 国产成人亚洲综合a∨猫咪| 国产一区二区三区免费观看| 免费av网站大全久久| 亚洲国产精品一区二区久久| 亚洲综合在线视频| 亚洲视频在线一区| 亚洲免费在线播放| 一区二区视频在线看| 亚洲免费资源在线播放| 欧美日韩成人一区二区| 国v精品久久久网| 99久久精品免费观看| 99久久精品免费观看| bt欧美亚洲午夜电影天堂| www.爱久久.com| 91网站在线观看视频| 在线看国产一区| 成人午夜av电影| 欧美日韩午夜精品| 91精品国产色综合久久不卡蜜臀 | 一区二区在线观看免费| 午夜欧美视频在线观看| 日本不卡1234视频| 九九国产精品视频| 波多野结衣中文一区| 激情久久五月天| 国内精品伊人久久久久影院对白| 国产美女在线精品| av高清不卡在线| 9191久久久久久久久久久| 欧美一区二区日韩一区二区| 日韩一级精品视频在线观看| 久久久久国产精品厨房| 亚洲免费观看视频| 日本aⅴ精品一区二区三区| 国产成人亚洲综合色影视| 色婷婷av一区二区三区大白胸| 欧美精品久久99| 久久嫩草精品久久久精品| 精品粉嫩aⅴ一区二区三区四区| 国产三级三级三级精品8ⅰ区| 中文字幕色av一区二区三区| 视频一区二区欧美| 成人免费视频一区二区| 欧美久久一二区| 国产精品国产a| 亚洲欧美怡红院| 日本欧美久久久久免费播放网| 成人毛片在线观看| 7777精品伊人久久久大香线蕉的 | 青青草国产精品亚洲专区无| 成人免费毛片高清视频| 日韩一区二区三区四区 | 91精品国产免费久久综合| 国产精品伦理在线| 日韩精品欧美精品| 菠萝蜜视频在线观看一区| 日韩精品一区二区在线观看| 亚洲夂夂婷婷色拍ww47| 国产在线精品不卡| 91精品国产乱| 一区二区免费看| 99久久夜色精品国产网站| 亚洲精品在线一区二区| 亚洲女爱视频在线| 成人午夜短视频| 欧美va亚洲va在线观看蝴蝶网| 欧美日韩国产成人在线91| 亚洲精品美国一| 97久久精品人人爽人人爽蜜臀| 久久这里只有精品视频网| 亚洲色图色小说| 成人午夜在线播放| 久久久久国产免费免费| 国产伦精品一区二区三区视频青涩| 日韩亚洲欧美中文三级| 偷拍亚洲欧洲综合| 欧美日韩国产一区| 丝袜亚洲另类欧美| 欧美精品黑人性xxxx| 无码av中文一区二区三区桃花岛| 99久久精品99国产精品| 国产一区二区三区久久悠悠色av | 国产亚洲欧美日韩在线一区| 精品一区二区三区免费播放| 精品国产乱码久久久久久牛牛| 麻豆精品国产91久久久久久| 日韩一区二区免费在线电影| 亚洲综合在线视频| 欧美日韩国产乱码电影| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩午夜电影在线观看| 美女高潮久久久| 久久久99精品免费观看| 国产成人精品一区二| 亚洲少妇屁股交4| 欧美色爱综合网| 精品一区二区三区的国产在线播放 | 亚洲一区二区精品久久av| 欧美午夜精品久久久久久超碰| 日韩国产精品91| 国产农村妇女毛片精品久久麻豆| 99久久久免费精品国产一区二区| 夜夜精品浪潮av一区二区三区| 精品中文字幕一区二区| 欧美激情综合网| 欧美日韩国产综合视频在线观看| 日韩av电影免费观看高清完整版 | 韩国精品久久久| 亚洲色欲色欲www| 欧美一区永久视频免费观看| 国产不卡视频在线播放| 中文字幕一区二区三中文字幕|