• ベストアンサー

aliasesの1フィールド目をメールアドレスへ変換する

aliasesの1フィールド目に記述されている文字列をアドレスへ変換したいのですが、以下の文字列をuser@ドメイン.comにするにはどうしたらよいでしょうか ドメイン.com~user: おそらくawkとか?を使って先頭文字列から「~」 までの文字列【ドメイン.com】抜き出して 最後の「:」から「~」 の文字列【user】を抜き出して 2つの文字列の間に@を入れると思うのですが どのようなコマンドにしたらうまくいくでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • trapezium
  • ベストアンサー率62% (276/442)
回答No.1

そのままですが、 awk -F: '/~.*:/{split($1,a,"~"); printf "%s@%s\n", a[2], a[1]}' < aliases でどうでしょ。

r-linux
質問者

お礼

すんごい!!!!!!! aliasesから ドメイン.com~user: となっている部分だけ抜き出して メールアドレスを作成してくれましたみたいです?!! ありがとうございます!!

関連するQ&A

  • aliasesの1フィールド目をメールアドレスへ変換して2フィールド目も表示する

    aliasesファイルの ドメイン.com~user:  user01,user05,外部メールアドレス,user04, となっている行から1フィールド目をメールアドレスに変換して 2フィールド目のユーザを1フィールド目に移動し、さらに 特定のユーザ名前だけを残すことはできますでしょうか こうなってほしいのです↓ user05 user@ドメイン.com 先ほど以下のコマンドでメールアドレスに変換することは できたのですが、関連するユーザを同じ行に表示させたいのですが、 このままではどのユーザのメールアドレスかわからないのです。 awk -F: '/~.*:/{split($1,a,"~"); printf "%s@%s\n", a[2], a[1]}' < /etc/mail/aliases どのようにしたら希望通りになりますでしょうか

  • 長いメールアドレスの設定方法を教えてください

    長いメールアドレスの設定方法を教えてください。 Linuxのユーザ名は8文字以内なので,通常は user@domain.com といったものだと思うのですが, 最近は myouji-namae@domain.com などのように ユーザ名の部分が長いものが普及してきています。 /etc/aliases にエイリアス設定をする方法もありますが, ユーザ名を登録するたびに,/etc/aliases も設定 するのは面倒だと思います。 みなさんどのような運用をしておられるのでしょうか? OSはRedHat ES に Postfix です。

  • 1フィールド目が同じ行を削除

    1フィールド目が同じな場合、2回目に出てくる行を 削除する方法はありますか? list.1の中身 akai akai@ドメイン.com ishida ishida@ドメイン.com ishida info@ドメイン.com info master@ドメイン.com info01 web@ドメイン.com awk '{if(!/$1==$1/){print}}' 今は上記のように1フィールド目が同じな行は表示しない。 としているつもりなのですが、全て表示されてしまいます。 list.1の中身を以下のように1フィールド目だけユニークな ファイルにしたいのです。 akai akai@ドメイン.com ishida ishida@ドメイン.com info master@ドメイン.com info01 web@ドメイン.com どうしたらよいでしょうか

  • sedコマンドを使用して、文字の置換を行いのですが助けてください。

    sedコマンドを使用して、文字の置換を行いのですが助けてください。 sedコマンドやawkコマンドなどを使って、aliasesファイルの置換を行いたいのですが、 うまくいかないので教えていただけないでしょうか? 知りたいのは、次のような置換を一括で行うことのできるコマンドです。 ■置換前のファイル ================= AAAA:  :include:/file/name BBBB:  :include:/file/name CCCC:  :include:/file/name ================= ■置換後のファイル(希望する置換結果) ※1フィールド目の任意の文字列をメールアドレスのローカルパートとして利用したい ================= AAAA:  AAAA@example.com BBBB:  BBBB@example.com CCCC:  CCCC@example.com ================= 以上です。

  • sendmailで、ユーザー名(@より前)のアドレス変換は可能でしょうか

    はじめまして。 CentOSで、sendmailを立ち上げています。 sendmail.cfのルールセットで、アドレス変換をやろうとしています。 @より以降のアドレス書き換え test@domain1.co.jp → test@domain2.com などは問題なくできました。 しかし、ユーザー名(@より前)のアドレス変換 test@domain.co.jp → user@domain.co.jp ができません。 ユーザー名(@より前)のアドレスを書き換える、という事はできないのでしょうか。 また、できるのならば、どのような手順を踏めばよろしいでしょうか。 sendmail.cfの設定は、直接編集および、cfでやっています。 よろしくお願い致します。

  • メールアドレスについて

    レンタル写メール掲示板を作成しているのですが、 ユーザー毎にメールアドレスを発行しないといけないのでしょうか? ユーザー:**** の場合、****@domain.com ユーザー:****2 の場合、****2@domain.com のようにメールアドレスへ送信する形にしたいのです。 こんな感じです http://mobi.to/si/?id=sample1

  • フィールドにテキストしか入ってないレコードの抽出

    ハイパーリンク型のフィールドにテキストしか入ってないレコードを取り出したいです。 1レコード目が 表示文字列:http://jp.msn.com アドレス:http://jp.msn.com (クリックしたらURLが開く) 2レコード目が 表示文字列:http://jp.msn.com アドレス:null (クリックしても何も起きない) の二つのレコードがあります。 クエリで2レコード目のように ハイパーリンク型のフィールドなのに、表示文字列しか入ってないレコードを抜き出したいのですが やり方がわかりません。 クエリの抽出条件に Not Like "*#*" を入れてもどちらも該当してしまいます。 ハイパーリンク型のフィールドのアドレスがNullのレコードの抜き出し方を教えてください。 よろしくお願いいたします。 (当方access2003です)

  • 1フィールド目を16文字目の後に半角スペースを入れたい

    repquota -a コマンドにてユーザ容量を 割り出しております。しかし、16文字に設定されたユーザ名の 後に2フィールド目であるはずのハイフンがくっついて表示されて いるため、【ユーザ名--】という文字列が1フィールド目に なってしまいます。 その為、1フィールド目の16文字目の直後に半角スペースを 入れるという指定をしたいのです。 以下はわかりやすく16文字まで指定できるユーザ名を 数字だけにしました。2フィールド目に必ず--とハイフンが 2回続きます。ユーザ名の中にハイフンが2回続くことも考えられる ので、悩んでおります。 1234567891123456-- 50 50 123456789--23456-- 20 20 本来であれば容量の50と20という数値は3フィールド目と4フィールド目 であって欲しいのです。 substr($1,1,16)を使ってみましたが、3フィールド目と 4フィールド目の数値を計算して現在のディスク使用率を 出したいので、1フィールド目の16文字目の直後に半角 スペースを入れたいのです。 どうしたらよいでしょうか

  • 同じフィールドに入っている複数の文字列変換

    ひとつのフィールドに入っている複数の文字列を一度に変換することは可能でしょうか? たとえば 「ABC DEF GH IJK」 という文字列があったとして、その中の ABCをLMN, DEFをOPQなどというようにです。 入っている文字列の長さも順番もいろいろバリエーションがありますが、そのうち変換したいものの種類は決まっています。 このような操作を、一般的な関数の計算式を使って行うことは可能でしょうか?使っているソフトはファイルメーカーです。 よろしくお願いします。

  • SNS内部でのメールアドレスについて

    よく、SNS内部でのメール(例:ハンゲームのミニメール等)が使われてますが、 ミニメールの送り先アドレスや、ミニメールの送り主のミニメールアドレスは 、(プロバイダー経由の直アドじゃないものになってると思うのですが)実際には 誰が決めたアドレスで、どういうアドレスにすれば、SNS内部でのやりとりが できるのか教えていただけますでしょうか。自分としては、ユーザーIDなどの ユニークな文字列(例:uid68468043)などを@の前につけたいと考えてます。

    • ベストアンサー
    • PHP