2016-04-06 12 views
2

Finnish-Czech dictionaryCzech-Finnish dictionaryに変更する必要があります。辞書ファイルの列を交換する

私は、このコマンドを試してみました:

sed -ne 's/\([^a-z A-Z]*\) \(.*\)$/\2 \1/ p' finnish-czech.txt 

をしかし、最初の後方参照は動作しません。私は後方参照の終わりが偽であることに気付き、最初の列だけを取るのではなくすべてを取る。

+1

(1) 'sed'は後方参照をサポートしていません。 (2)ここでは後部参照がどこで使われているのかわかりません。 (3)辞書からいくつかの例を挙げていただけますか? – hek2mgl

+0

sääennuste\tpředpověď säätiedotus\tpředpověď tahtoa \tプラット taidekeskus \tリウム taivuttaa \t ohnout talvisota \tzimní tapahtua \tpřihodit tapahtua \t STAT tavara \tsejít tavaratalo \tobchodní tavata \t setkat tavattavissa \t K tavoitella \tsnažit terttu \t hrozen terveyskeskus \tzdravotní tiedustella \t dotazovat tiedustella \tvyptávat tienviitta \t ukazatel tietojenkäsittelytekniikka\tinformační tietokoneohjelma \tpočítačový tili \túčet(V tilinumero \tčíslo tilkku \t kousek – Mafi

+0

@ hek2mgl彼らは明らかにされていますグループ化と後方参照を使用しますか? @OP '[az AZ] *'普通の文字とスペースだけが存在するならば、すべての文字(AZとにかく)とスペースが一致するので、行のすべてに一致します。 – 123

答えて

1

セパレーターは<TAB>です:

sed -r 's/^([^\t]*)\t([^\t]*)$/\2\t\1/p' finnish-czech.txt 

フィンランドのフィールドの一致(^([^\t]*))、その後TAB\t)、その後チェコの提出試合(([^\t]*)$

0

これはawkのための簡単な仕事です:

awk '{ print $2 "\t" $1; }' <finnish-czech.txt 

各行について、これは2番目のフィールドを印刷してからタブを表示し、次にf最初のフィールド。

ファイルが改行の前に改行されているように思われる可能性があります。tr -d '\r'などでファイルを削除することをお勧めします。

関連する問題