我有一个包含以下输出的文件(c.txt)。这只是大文件中的一项。
7,VE,Bank–Charges
我正在尝试跑步:
sed -i 's/-/ - /g' c.txt
获得所需的输出:
7,VE,Bank – Charges
这不起作用。 请注意,还有许多其他连字符组合,例如车辆-维护等。
我已运行以下命令来了解问题:
cat c.txt | head -n2 | tail -n1 | hd -c
00000000 37 2c 56 45 2c 42 61 6e 6b e2 80 93 43 68 61 72 |7,VE,Bank...Char|
0000000 7 , V E , B a n k 342 200 223 C h a r
00000010 67 65 73 0a |ges.|
0000010 g e s \n
0000014
由此可以清楚地看出,连字符实际上由 3 个字符组成 (342 200 223)。所以我的问题是如何编写一个 sed 命令来修复文件中存在很多连字符的所有连字符实例?或者 sed 在这里可用还是还有其他更有用的选项?
感谢赛勒斯(Cyrus),我能够解决这个问题。
cat c.txt | sed -i 's/\xe2\x80\x93/ - /g'