![Nainštalujte Cacti (monitorovanie siete) na RHEL/CentOS 8/7 a Fedora 30](/f/cc47ced9a48e4c6f5d50560711431294.png?width=100&height=100)
Pokiaľ ide o správu a analýzu údajov, často je potrebné konvertovať súbory z jedného formátu do druhého. Ak pracujete s CSV (Hodnoty oddelené čiarkou) súbory v systéme Linux a chcete ich previesť na TSV (Hodnoty oddelené tabulátorom), ste na správnom mieste, pretože tento článok vám pomôže s procesom vykonania požadovanej konverzie.
CSV súbory boli široko používané na ukladanie štruktúrovaných údajov. však TSV súbory ponúkajú oproti CSV súbory.
Zatiaľ čo CSV súbory oddeľte hodnoty čiarkami, TSV súbory používajú karty, ktoré môžu uľahčiť prácu s údajmi, najmä pri práci s čiarkami v samotných údajoch.
Súbory TSV majú tiež tendenciu byť kompatibilnejšie s rôznymi aplikáciami a nástrojmi bežne používanými na spracovanie a analýzu údajov.
Konverzia CSV súbory do TSV súbory v Linuxe je možné dosiahnuť rôznymi spôsobmi, ktoré sú nasledovné:
Obsah
awk je výkonný nástroj na spracovanie textu, ktorý vám umožňuje efektívne manipulovať a transformovať údaje, ktorý sa tiež používa na konverziu súboru CSV na súbor TSV, ako je znázornené.
$ awk -F ',' 'ZAČIATOK {OFS="\t"} {$1=$1}1' tecmint.csv > tecmint.tsv. $ ls -l tecmint.tsv.
Nahradiť tecmint.csv so skutočným názvom súboru vášho CSV súboru a tecmint.tsv s požadovaným názvom súboru pre konvertovaný súbor TSV.
Rozoberme príkaz:
-F','
nastaví oddeľovač vstupného poľa ako čiarku, ktorá označuje, že vstupný súbor je vo formáte CSV.ZAČAŤ {OFS="\t"}
nastaví oddeľovač výstupného poľa ako tabulátor, pričom určí, že výstupný súbor by mal byť vo formáte TSV.{$1=$1}
prinúti awk preformátovať vstupné polia pomocou špecifikovaných oddeľovačov polí.1
je bežný vzor awk, ktorý spúšťa predvolenú akciu, ktorou je vytlačenie upraveného záznamu.The príkaz sed je ďalší výkonný nástroj dostupný v systéme Linux, ktorý možno použiť na jednoduchú konverziu súborov CSV na súbory TSV.
Tu je sed príkaz, ktorý musíte vykonať v termináli na konverziu súboru CSV na súbor TSV.
$ sed 's/,/\t/g' tecmint.csv > tecmint.tsv. $ ls -l tecmint.tsv.
Poďme pochopiť komponenty príkazu:
s/,/\t/g
je substitučný vzor, ktorý používa sed, ktorý hľadá čiarky (,)
vo vstupnom súbore a nahradí ich tabulátormi (\t)
.The csvkit knižnica poskytuje pohodlné a výkonné sada nástrojov príkazového riadku pre prácu so súbormi CSV v systéme Linux. Ponúka jednoduchý spôsob prevodu súborov CSV do formátu TSV.
Najprv ho však musíte nainštalovať csvkit na vašom systéme Linux z nasledujúceho príkazu:
$ sudo apt install csvkit [Zap Debian, Ubuntu a Mint] $ sudo yum nainštalovať csvkit [ZapRHEL/CentOS/Fedora a Rocky/AlmaLinux] $ sudo emerge -a sys-apps/csvkit [ZapGentoo Linux] $ sudo apk pridať csvkit [ZapAlpine Linux] $ sudo pacman -S csvkit [ZapArch Linux] $ sudo zypper nainštalovať csvkit [ZapOpenSUSE]
Potom použite nasledujúci príkaz s -T
možnosť, ktorá určuje výstupný oddeľovač ako tabulátor a konvertuje súbor CSV do formátu TSV.
$ csvformat -T tecmint.csv > tecmint.tsv. $ ls -l tecmint.tsv.
Ak chcete previesť súbor CSV na súbor TSV v systéme Linux, môžete použiť Python, všestranný programovací jazyk, ktorý je bežne dostupný v systémoch Linux. Ak chcete na konverziu použiť Python, postupujte podľa nasledujúcich krokov:
Vytvorte nový súbor skriptu Python v termináli spustením nasledujúceho príkazu:
$ nano tecmint.py. ALEBO. $ vi tecmint.py.
Potom pridajte nasledujúci kód do súboru skriptu.
import csv csv_file = 'tecmint.csv' tsv_file = 'tecmint.tsv' s otvoreným (csv_file, 'r') ako input_file, open (tsv_file, 'w') ako output_file: csv_reader = csv.reader (vstupný_súbor) tsv_writer = csv.writer (výstupný_súbor, oddeľovač='\t') pre riadok v čítačke csv: tsv_writer.writerow (riadok)
Názov súboru CSV musíte nahradiť vlastným názvom súboru uloženým vo vašom systéme a názvom súboru TSV podľa vášho výberu.
Potom spustite súbor Python pomocou python3 tlmočník:
$ python3 tecmint.py.
Môžete tiež použiť Perl programovací jazyk v systéme Linux na konverziu súboru CSV na súbor TSV. Na tento účel musíte postupovať podľa krokov uvedených nižšie:
Vytvorte nový Perl súbor skriptu pomocou nasledujúceho príkazu:
$ nano tecmint.pl. ALEBO. $ vi tecmint.pl.
Do súboru skriptu pridajte nasledujúci kód:
#!/usr/bin/perl použite prísne; používať varovania; my $csv_file = 'tecmint.csv'; my $tsv_file = 'tecmint.tsv'; open (my $input_fh, '', $tsv_file) or die "Nepodarilo sa vytvoriť $tsv_file: $!"; while (my $line = ) { chomp $ riadok; moje @polia = split(',', $line); my $tsv_line = join("\t", @fields); vytlačiť $output_fh $tsv_line. "\n"; } zavrieť $vstup_fh; zatvor $output_fh;
Potom súbor uložte pomocou CTRL+X
, nasledovaný Y a tlačidlo enter.
Urobte spustiteľný skript Perl a spustite skript Perl pomocou nasledujúcich príkazov:
$ chmod +x tecmint.pl. $ ./tecmint.pl. $ ls -l tecmint.tsv.
Pri práci so súbormi CSV v systéme Linux a potrebe ich previesť na súbory TSV je k dispozícii niekoľko spôsobov. Článok poskytuje podrobné pokyny na používanie príkazov, ako napr awk a sed, s využitím csvkit knižnica, používanie Pythona zamestnávanie Perl programovací jazyk.
Každá metóda ponúka svoje výhody a umožňuje jednoduchú konverziu súborov CSV do formátu TSV. Podľa poskytnutých pokynov môžu používatelia efektívne vykonávať požadovanú konverziu a pracovať so súbormi TSV vo svojom systéme Linux.