|
誰かハイホーネットにメールを送信するアプリをくれましたか?(w |
|
はじめましてvmと申します。 UNIXのコマンド処理で質問があるのですが、 何行かあるテキストファイルの指定のカラム位置に文字列を行単位に挿入 するという処理を、UNIXのコマンドだけでやりたいと思っています。 自分で処理を考えてみたのですが、 1. cutコマンドを使用して、指定カラム位置を境にして、 「指定カラム位置より前の文字列が入ったファイル」と 「指定カラム位置より後の文字列が入ったファイル」に分割する。 2. paste コマンドを使用して、セパレータを元のファイルが使用していない文字を指定して、 1で作ったファイルを結合する。 3. sedコマンドでセパレータ文字を挿入したい文字列に置き換える。 ワークファイルができてしまって、UNIXっぽくないので、 これ以外にもっと簡単なやり方がないか探しているのですが、 もしご存知の方いらっしゃいましたら、ご教授いただけないでしょうか。 よろしくお願いします。 |
|
>>3674 vm やりたいことがよくわからないので、入力と出力のサンプルを 提示してください。 |
|
>>3675 68user 多分このような事を考えているのだと思います。 ■入力ファイル aaaa,bbbb cc,ddd eeeeee,ffff ■挿入文字列 00 ■出力ファイル aaaa00bbbb cc00ddd eeeeee00ffff >>3674 vm で、やりたい事が上記の通りだとすると、 perlとかawkで出来ると思います。 |
|
こんにちはvmです。 説明不足でした。 入力データは1ファイルで、 AAAABBBCCCCC DDDDEEEFFFFF GGGGHHHIIIII : という感じで項目間の区切り無しのレコードが いくつか入っているという状態で、 AAAABBB****CCCCC DDDDEEE****FFFFF GGGGHHH****IIIII : 1行目で見ると、BBBとCCCCCの間に****を挿入するということを、 シェルかUNIX標準コマンドでやりたいと考えています。 先に書いた私の手順ですと、一度cutコマンドで AAAABBB DDDDEEE GGGGHHH : CCCCC FFFFF IIIII : 2つのワークファイルを作るので手順も多くて面倒なため、 他にやり方がないものかと考えている次第です。 もっと単純化できる方法がありましたら、ご教授ください。 お願いいたします。 |
|
>>3677 vm 区切り文字なしだとすると、文字列の挿入個所は何を基準に判断するのでしょうか? 下の例を見る限りでは、行頭からのバイト数で分割してるように見えますが、あってますか? 後気になった点はUNIXの標準コマンドというのは どこまでを指すのでしょう? インストール時点でインストールされるコマンドは、 OS・インストールオプションによって異なると思いますが・・・ |