cp: 错误消息中使用什么引号?

cp: 错误消息中使用什么引号?

我目前正在摆弄一个快要死的硬盘,在尝试cp从中获取数据时,我收到如下错误

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

我现在尝试通过使用sed将错误消息转换为新的cp调用来再次复制失败的文件(我已经成功了几次)。但是:什么是有趣的引号?它们甚至在开始/结束时也不同。它没有反引号,也没有撇号。我将其复制/粘贴到我的正则表达式中,但是有更好的方法吗?也许使用撰写?

答案1

查找给定字符的有用命令是 Free recode(以前称为 GNU recode):

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

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

或者unicode命令来自 Debian:

$ 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)

答案2

生成的字符是U+2018 LEFT SINGLE QUOTATION MARK( ) 和U+2019 RIGHT SINGLE QUOTATION MARK( )。这些是英语的印刷单引号,是根据您当前的区域设置生成的。如果您当前的键盘布局有撰写键,则可以使用Compose<'(左引号)和Compose>'(右引号)输入它们。

但是,如果您想使用其他工具处理命令的输出(例如,在您的例子中, ),通常通过将环境变量设置为 来sed更改本地更容易。这样,程序将以纯 ASCII 输出错误消息(更一般地说,所有输出都是人类可读的),这通常更容易使用基于文本的工具进行处理。LANGC

相关内容