今あるファイルの中身の読み込みに、

set EDPTODAY = `awk -F , '/$EDPCLND/ {print $5,$9}'`
echo $EDPTODAY

と書くと、構文エラーが出てしまいます。
","区切りなので、"awk -F , "と表記したのですが・・・
($EDPCLNDで宣言しているファイルの存在は確認しました。)
お解りの方、どうお宜しくお願いいたします。

A 回答 (5件)

すみませんが、何をしたいのでしょう?



EDPCLNDというシェル変数にはファイル名が入っているのですか?
そのファイルは何行あるかわかりませんが、その第5, 第9フィールドを
全部とりだして、EDPTODAY にセットしたいのですか?

awk で /.../ というのは、そこに書かれたパターンにマッチした行について、
対応する { ... } の内容を実行しろということですので、
awk は標準入力に対して、$EDPCLND というパターンを探します。
でも、$ は行末にマッチする表現なので、
行末以降にある EDPCLND という文字列があるとは考えられないので、
たぶん、どの行にもマッチしないでしょう。

$EDPCLND が含むファイル名のファイルの中身を awk に読ませたいなら、
awk '/.../ {...}' $EDPCLND
となるのが普通です。
それ以外のことをしたいのなら、補足してください。

この回答への補足

補足します。
有るファイル(EDPTODAYとは別ファイル)を一行単位で読み込み
(此処の部分は別なので書いていません)、
読み込み内容をEDPTODAYに格納、そしてその切り出した内容の
その第5, 第9フィールドをとりだして中身を確認と言う処理を行いたくて、
こういう風に書いたのですが・・・

そうすると、上記のような処理を行いたい場合には
set EDPCLND = `more PDXFGKS.TXT`(PDXFGKS.TXTの中がまだ一行しかないのでこうしています)
set EDPTODAY = more $EDPCLND`awk -F , '{print $5,$9}'`
で宜しいのでしょうか?

補足日時:2001/10/26 09:10
    • good
    • 0

あるファイルを一行単位で読み込んで処理するとのことなので




testというスクリプトとします。usage: ./test ugo(処理するファイル名)
awkのみで書くことも可能ですが、前後にshellの処理が入るとして、一応
参考までに書いてみました。雛型に利用できるかもしれません。
デバックしてないのでその点はご容赦ください。

これならいっそのこと全部awkの方が楽かも。

#!/bin/sh

cat $1 |awk '{FS=",";}
/.*/ {
print $5,$9;
do
printf("realy do job on this data?(y/n):");
getline reply <"-";
while(reply~/[yYnN]/);
if reply~/[yY]/ {
何かの処理;
}
}'
    • good
    • 0

ファイルの中身、シェル変数に格納されている文字列、標準入出力で流れる


データの区別が完全にはついていないとみうけられます。

$EDPCLND という変数には、ファイル名じゃなくて、PDXFGKS.TXT というファ
イルの中身のある1行が入っているのですね?で、その行の、第5,第9フィール
ドを、別の変数に格納するということでよろしいでしょうか?

それなら、
set EDPTODAY = `echo $EDPCLND | awk -F, '{print $5,$9}'`
でどうでしょう?
    • good
    • 0

set EDPTODAY=`cat $EDPCLND|awk '{FS=",";} /.*/{print $5,$9;}'`


echo $EDPTODAY

はどうでしょうか?
    • good
    • 0

awk で、-F を使うときは、スペース無しで


セパレータを記述します。
awk -F , '/$EDPCLND/ {print $5,$9}'
ではなくて、
awk -F, '/$EDPCLND/ {print $5,$9}'
とやってみてはいかがでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qshで書いたシェルスクリプトで`とか'とかの中で変数を使いたい。

標題の質問ですが、gnu dateコマンドを使って数日前の日付を取得しているのですが、

こんな具合:
DATE=`date --d '1 day ago'`

何日前の日付を取得するかを引数で決めたいのです。
しかし
DATE=`date` --d '$1 day ago'`
これでは当然上手く行きません。
上手いことエスケープして変数を使用する方法を教えてください。

シェルはshです。

Aベストアンサー

ごめんなさい、`がひとつ多かった^^;


``の中でも変数は展開されますので、

DATE=`date --d $1' day ago'`

でいけます

QYAHOOのトップページを開くと・・・・'Windows Media Player Extension'アドオンを実行しようとしています。と表示されますが

最近、YAHOOのトップページを開くと
「このWebサイトは、'Microsoft Corporation'からの'Windows Media Player Extension'アドオンを実行しようとしています。Webサイトとアドオンを信頼し、アドオンを実行するにはここをクリックしてください。」
と、表示されることがあります。(何故か毎回表示されるわけではありません)

IE8で発生します。
他のブラウザでは発生しませんし、通常のフラッシュプレーヤーは入れてます。

質問1、毎回もしくは毎日これが表示されるわけではないのは
なぜでしょうか?

質問2、もしこれを実行したらどうなるのですか?
Windows Media Playerが立ち上がって動画かなにかが再生されるんでしょうか?もしくはどういう効果があるのでしょうか?

環境は、Windows Xp IE8 Windows Media Player11 です。

Aベストアンサー

実行でOKですよ。1回OKしたらでてこないと思いますが、パソコンを修理していますが、どのパソコンもIE8をインストール後は出ますよ。
そして1回だけ、OKすれば、次回からでてこないと思いますが、

その後も特に問題ありません。もし、不安ならその後、セキュリティチェックしてみたらどうです。

IE8で設定をする際に出るもので、VISTAでいうセキュリティチェック項目のひとつです。このチェックはマイクロソフトのものもチェック対象になるため IE7までは裏で自動で動いていたものが、IE8では、セキュリティがあがったため、一度表示されただけと、認識しております。


多分、全てハイという項目があると思います。めんどくさければ全てハイでOK このアドオン系は マイクロソフトと書いてあったり、アドビ
と書いてあれば 基本大丈夫です。 (もし変なサイトにいった後や、セキュリティソフトを入れてない場合などは除きます。)

Qvi での '#' の入力について

初めまして。

viエディタにて、'#'を入力する際に、
'\'→'#'の順に入力することで初めて'#'を入力できます。
'#'のみで入力を行うことはできますでしょうか?

Aベストアンサー

ふつうは#だけで入力できますが。
どのようなOSのどのようなviでしょうか?
端末の設定はどうでしょうか?

まれに、古い端末設定をデフォルトとするシステムでは、erase文字などが#になってしまっている場合があります。この場合でも最近の多機能シェルはそれ自身のキーバインドで解釈しますが、viなどのアプリケーションを起動したときに端末の設定が有効になるわけです。

ためしに、stty してみてください。erase が # になってしまっているのだとすると、stty erase ^H などで標準の状態に変更できます(詳しくはOS依存)。

Qawkで本日日付の取得

awkで本日日付を取得する方法(組み込み関数)があれば教えてください。
できれば"20040121"といったフォーマットで取得したいです。

Aベストアンサー

その後の処理が面倒かもしれませんが
SYSTEM関数でUNIXのdateコマンドを呼び出してはどうでしょうか?

Qファイル(F)の(F)について

こんばんは。いつもお世話になります。
ブラウザなどのアプリケーションのツールバーに
ファイル(F)や編集(E)とあると思うのですが
この(F)とか(E)はキーボード操作でメニューを
開けるということでしょうか?
Ctr+F,Shift+Fと押してみたのですが
そのメニューを開けなかったです。
それとも他のキーを押しながらなのでしょうか?

Aベストアンサー

>キーボード操作でメニューを開けるということでしょうか?
その通りです。ショートカットキーと云います

Ctr+F,Shift+Fと押してみたのですが・・・
惜しい、Alt+Fをお試し下さい

参考URL:http://www4.ocn.ne.jp/~tomotan/tagref/another/shortcut.htm


このカテゴリの人気Q&Aランキング

おすすめ情報