Это версия пасты, которую я использую.

C:\cygwin\bin>.\paste.exe --version
paste (GNU coreutils) 8.26
Packaged by Cygwin (8.26-2)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.
This is free software: you are free to change and redis
There is NO WARRANTY, to the extent permitted by law.

Written by David M. Ihnat and David MacKenzie.

C:\cygwin\bin>

Я не уверен, что он самый актуальный, так как я не вижу пасты, перечисленной здесь, и именно здесь я думаю, я бы хотел обновить

Но у меня установлена команда вставки в Cygwin.

Но это не работает .. Вставлено лишних символов

xxd -p - это команда, которая показывает hex.

file1.txt и file2.txt - это два файла UTF-8

C:\cro\a>file file1.txt
file1.txt: UTF-8 Unicode (with BOM) text, with no line terminators

C:\cro\a>file file2.txt
file2.txt: UTF-8 Unicode (with BOM) text, with no line terminators

file1.txt содержит код для utf-8 bom, это EFBBBF, за которым следует гекс для букв «aaa». file2 имеет текст BBB.

C:\cro\a>xxd -p file1.txt
efbbbf616161

C:\cro\a>xxd -p file2.txt
efbbbf626262

Мы видим это здесь. Не беспокойтесь о том, что это просто ´╗┐ пытается показать UTF-8 BOM. Это не проблема, которую я имею.

C:\cro\a>type file1.txt
´╗┐aaa
C:\cro\a>
C:\cro\a>type file2.txt
´╗┐bbb
C:\cro\a>

Проблема в том, что команда вставки, когда я использую ее, чтобы попытаться поместить file1 и file2 рядом друг с другом, как вы видите, глядя на гекс, дублирует Unicode BOM (efbbbf), и не должна.

C:\cro\a>paste file1 file2 >a.a
paste: file1: No such file or directory

C:\cro\a>paste file1.txt file2.txt >a.a

C:\cro\a>type a.a
´╗┐aaa  ´╗┐bbb

C:\cro\a>xxd -p a.a
efbbbf61616109efbbbf6262620a

C:\cro\a>

Есть ли более поздняя версия пасты для окон, которая этого не делает? Или эта проблема существует даже в последней версии linux для вставки .. И есть ли способ обойти это?

Тем временем я буду кодировать файлы utf-8 без спецификации, прежде чем использовать вставку.

1 ответ1

0

Прошлое принадлежит coreutils.

Вы можете использовать поиск на сайте https://cygwin.com/cgi-bin2/package-cat.cgi?file=x86_64%2Fcoreutils%2Fcoreutils-8.26-2&grep=bin%2Fpaste

или cygcheck -p bin/paste

Конечно, это не заботится о кодировке, если у вас есть две спецификации, у вас будет дубликат.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .