Почему кодировка текстовых файлов Windows дает сбой после того, как я открываю их в системе Linux?

С помощьюjq(https://stedolan.github.io/jq/)вы можете сделать это:

jq -r '{ id, text, lang:.user.lang } | select (.lang == "en") | [.id,.text,.lang ] | @csv' 30.json

Это должно дать вам требуемый результат:

980369176291262500,"RT @Q_cupid: กระแสใส่ชุดไทยมาแรงอันนี้เข้าใจ แต่ที่ไม่เข้าใจคือคนที่กล้าไปขโมยชุดไทยที่เค้าเอาไว้ไปแก้บนตามศาลนี่แหละ อีเวงง ขโมยไปเกือบ100…","en"

Чтобы записать вывод в файл, просто перенаправьте его:

jq -r '{ id, text, lang:.user.lang } | select (.lang == "en") | [.id,.text,.lang ] | @csv' 30.json > output.csv

Обратите внимание, что я изменил пример JSON из вашего вопроса, чтобы сделать его допустимым. Похоже, вы отбрасываете большую часть данных, так что это не должно вызвать никаких проблем.

0
27.02.2021, 14:02
1 ответ

Протестируйте файл, вызывающий сбой, с помощью команды file -в Linux и сравните его с файлами, не вызывающими сбой -.

Скорее всего, имеется несоответствие в кодировке файла -и, возможно, задействовано какое-то нежелательное автоматическое -обнаружение.

Linux предлагает UTF -8 на большинстве систем уже 20 лет, и вы не должны это менять. Windows была позже на вечеринке, но более поздние установки также должны использовать utf -8 по умолчанию.

Некоторые редакторы могут иметь старую настройку по умолчанию, например CP850 или ISO -LATIN -x, где x — это число или что-то еще..

Чтобы избежать двусмысленности, были предприняты шаги, чтобы поместить спецификацию в начало файла, что еще больше усугубляет проблему, потому что, например, сценарии оболочки в Linux используют Shebang (, как#!/bin/bash)в начало и вообще не принимайте спецификацию.

Если возможно, установите для всех ваших инструментов кодировку UTF -8 и по возможности конвертируйте старые файлы (программа для Linux :iconv ).

С

file clean-and-easy.txt 
file crashing.txt 

вы должны сначала посмотреть, сообщает ли что-то команда файла, например ascii-text with BOMили UTF-8 Unicode text.

0
18.03.2021, 22:28

Теги

Похожие вопросы