dポイントプレゼントキャンペーン実施中!

教えてください。
A‐200808-01.txt
このようなファイルがあります

jgawk -f test.awk A‐200801-01.txt >この部分を拡張子だけを変えて出力する(A‐200801-01.csvなど)

そんな事はできるでしょうか?
200808 の部分は変わるので毎回書き直さず処理したいと思います。

test.awkの中は
/nakami/{
syu = substr($0,8,128);

print syu
}
  と
中略   { print }
  があります
分かる方がいれば教えてください。
お願いします

A 回答 (2件)

実行環境はWindowsのコマンドプロンプトでいいですか?



1) の補足
http://orangeclover.hatenablog.com/entry/2010100 …
ファイル名を変数に入れれば、その拡張子を覗いた部分だけを抜きだすことができます。

1')
ファイル名の一覧を入力すると、対応した「 jgawk -f test.awk ファイル > CSVファイル 」を出力する awk スクリプトを作る。
このスクリプトを使ってバッチファイルを作り、そのバッチファイルを実行する
    • good
    • 0

やり方は大きく2つ。


1) 「A‐200801-01.txt」という文字列から「A‐200801-01.csv」という文字列を作って、
jgawk -f test.awk 元の文字列 > 新しい文字列
というコマンドを実行する
...というバッチファイル/シェルスクリプトを作る

2) > による出力ファイルの指定は行わないで、test.awk内で出力先を指定する。
ファイル名や引数は特殊編集で取得できる
http://www.kt.rim.or.jp/~kbk/gawk-30/gawk_11.htm …
print先はリダイレクトできる
http://www.kt.rim.or.jp/~kbk/gawk-30/gawk_7.html …
    • good
    • 0
この回答へのお礼

ありがとうございます。
1)の方は今までやっていました
 ファイル数が多くA‐200801-01の部分が変わるのでバッチファイルを作るのが大変で

2)の方はまだ経験が浅くパターンが変わると応用が力が乏しく(基礎が出来てません)うまく理解が出来ずでした

お礼日時:2020/08/09 00:19

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