Character-Encoding

cp:錯誤資訊中使用了哪些引號?

  • February 6, 2020

我目前正在擺弄一個垂死的硬碟,在嘗試從中cp獲取數據時,我得到了類似的錯誤

cp: error reading ‘brokenFile’: Input/output error
# comparison: backtick: `, apostrophe '

sed我現在嘗試通過將錯誤消息轉換為新的呼叫來再次複製失敗的文件cp(我已經成功了幾次)。但是:有趣的引號是什麼?它們在開始/結束時甚至不同。它不是反引號,也不是撇號。我將它複製/粘貼到我的正則表達式中,但有更好的方法嗎?也許使用撰寫?

生成的字元是U+2018 LEFT SINGLE QUOTATION MARK( ) 和U+2019 RIGHT SINGLE QUOTATION MARK( )。這些是英語的印刷單引號,是根據您目前的語言環境生成的。如果您目前的鍵盤佈局有一個撰寫鍵,您可以使用Compose``<``'(左引號)和Compose``>``'(右引號)輸入它們。

但是,如果您想使用其他工具(例如,在您的情況下為sed)處理命令的輸出,通常通過將環境變數設置為 來更改本地更LANG容易C。這樣,程序將以純 ASCII 格式輸出錯誤消息(更一般地說,所有輸出都是人類可讀的),使用基於文本的工具通常更容易處理。

查找給定字元的有用命令是 Free recode(以前稱為 GNU recode):

$ echo -n ‘’ | recode ..dump
UCS2   Mne   Description

2018   '6    left single quotation mark
2019   '9    right single quotation mark

或者來自 Debianunicode的命令:

$ unicode ‘’
U+2018 LEFT SINGLE QUOTATION MARK
UTF-8: e2 80 98  UTF-16BE: 2018  Decimal: ‘
‘
Category: Pi (Punctuation, Initial quote)
Bidi: ON (Other Neutrals)

U+2019 RIGHT SINGLE QUOTATION MARK
UTF-8: e2 80 99  UTF-16BE: 2019  Decimal: ’
’
Category: Pf (Punctuation, Final quote)
Bidi: ON (Other Neutrals)

引用自:https://unix.stackexchange.com/questions/126501