質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

2回答

1311閲覧

Vim で文書を定形で変換したい。どうすれば? 

qkkdo

総合スコア10

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2016/08/31 13:15

・依頼:
Vim使いの先生へ コレを変換したいのですがどうしたらよいでしょうか?

・命題:
Vim で文書の整形を行いたい。

・条件最初に用意した文書の在りか:
Evernote に文書が有ります。

・使用PC:
Linux Ubuntu 1404 普通の設定
UTC8

・最初の作業:
Evernote にある文章をコピーし、
端末のEditor に貼り付ける
(現在はLeafpad)
これをVimで行いたい。

・次の作業:
下記のリンク先の様にしたい
http://bit.ly/2bRFgK3

・作業概要:
改行を半角のセミコロン「;」に変換する。
ただし、行頭がhttpの文字列の改行はそのままにする
先頭の文字列が「--」の場合は消す。
空白行はあってもなくても良い
SJISで保存したい。

・目的:
SJISしか使えないDataBaseに読み込ませたい

・なおもしvim出来なければ
他のeditorをも検討します

よろしくおねがいいたします

ここ:
Vim使いの先生へ コレを変換したいのですがどうしたらよいでしょうか
http://bit.ly/2cbASC8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

vim じゃないスけど

awk '/^$/{next}/^--/{next}/^http/{print;next}{printf}' hoge.txt | iconv -f UTF-8 -t SJIS >new.txt

投稿2016/08/31 13:35

編集2016/09/01 09:19
takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

qkkdo

2016/08/31 16:53

awk ッてこういう時に使うのですか! やってみます。 それにしても早い解凍にびっくりしました、感謝します。
qkkdo

2016/08/31 17:25

解凍==>回答
qkkdo

2016/09/01 03:16

awk 気にいりました。勉強したいと思います。 ところで、いただいた文例ですとイマイチ整形が上手くいきませんでした。 (1)、 next の意味が調べても分かりませんでした、のと (2)、 改行を消す、言うコマンドが分かりませんでした。
takasima20

2016/09/01 09:25

nextは以降の処理をスキップして(先頭にもどって)次の行を読み込みます。 改行コードは消された状態で処理に入ってきます。 printは改行付きで、printfは改行無しで出力します。 改行のみの行を消す処理は追加しておきました。 ミスってるとこがあったら申し訳ない。(^_^;
guest

0

自己解決

awk '/^--/ {next} /^ISSJ-/ {printf $0 ";"} /。|円/ {printf $0 ";"} /^http/ {printf $0 "\n"}' sagyo2.txt > new.txt
(ShiftJis変換の前まで)あとは
nkf -s
にして成功しました。
awk って使えますね。有難う御座いました。

投稿2016/09/01 23:49

qkkdo

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問