
awkの初歩的な質問をさせてください。
空白区切りで、可変長の1行のデータから、2つの値をawkで切り出して、2つのファイルにそれぞれ書きたいため、今は以下のようにしています。
DATA='XXXXX 1234 XXXX 5678 XXXX'
DN=`echo $DATA | awk '{print $2}'`
UP=`echo $DATA | awk '{print $4}'`
echo $DN > file1.txt
echo $UP > file2.txt
awkの使い方として、1行で書けないか、または正しい書き方があれば教えて頂けると幸いです。
No.2
- 回答日時:
正確にどのようなことをしたいのかがわからないんで確認させてください.
・この DATA の値はどのように設定するのでしょうか? 本当にここにあるように固定した値であるなら, こんな風には書きませんよね.
・DN や UP といった変数はなぜ必要なのでしょうか? 逆にいうと, なぜ
DATA='XXXXX 1234 XXXX 5678 XXXX'
echo $DATA | awk '{print $2}' > file1.txt
echo $DATA | awk '{print $4}' > file2.txt
のように書かなかったのでしょうか.
・「1行」をどのように数えましょうか. print そのものはどうやっても 2個必要ですよね.
・これはシェルスクリプトでしょうか, それとも手入力でしょうか? シェルスクリプトなら, その引数はどうなっているでしょうか?

No.1
- 回答日時:
split関数を使えば、分割は1行でできます。
以下のサンプルでわかるでしょう。http://bioinfo-dojo.net/2017/10/10/awk-split/
ただ最後は相手にするファイルが2つあるんで、結局は2行に分かれちゃうから言うほど効率的になりませんが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
linuxのインストール
-
Core 2 Duo の古いパソコンに最...
-
インストールできないですどう...
-
LinuxでWine使うとどのくらいWi...
-
ubuntu 24 へのCanon 複合機ス...
-
VirtualBox 6.1 → 7.1 でUbuntu...
-
Linux のシェルスクリプトの強...
-
ubuntu(linux)のシャットダウン...
-
ubuntu が起動しない。
-
bashでシングルクォート内の変...
-
「/var/log」内のログの削除の...
-
Ububtuでファイル共有できない...
-
LinuxのノートパソコンでDVDコ...
-
ubuntuのシャットダウンが進ま...
-
ubuntuで デイスク/deb/loopと...
-
VirtualBox ゲストOSにPC内蔵HD...
-
linuxサーバーのキャッシュをク...
-
「トゥ]の出し方
-
WinSCPでLinux(CentOS6.10)に...
-
ubuntuのターミナルで書いたコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インストールできないですどう...
-
Core 2 Duo の古いパソコンに最...
-
LinuxでWine使うとどのくらいWi...
-
ubuntu(linux)のシャットダウン...
-
Linux のシェルスクリプトの強...
-
bashでシングルクォート内の変...
-
VirtualBox 6.1 → 7.1 でUbuntu...
-
ubuntuで デイスク/deb/loopと...
-
「トゥ]の出し方
-
Ubuntu on Xorgのログインについて
-
ログにserver reached MaxReque...
-
ubuntuのシャットダウンが進ま...
-
LinuxのPCは基本不要PC中古を使...
-
ubuntu 24 へのCanon 複合機ス...
-
Windowsのローカルディレクトリ...
-
WinSCPでLinux(CentOS6.10)に...
-
ubuntu が起動しない。
-
Lubuntuでとにかく軽量のバージ...
-
ssh接続しようとしたらエラーメ...
-
Ububtuでファイル共有できない...
おすすめ情報
具体的に書くと、自宅のネットワークのスピードをspeedtestで測ってログに出してます。
グラフ化しようと思って、zabbixに取り込みたいと考えています。
DATAは、speedtestの実行結果を1行にしたものです。
2つのファイルに上りと下りを書きだそうと思ったのですが、awkを2回呼び出したくないなと思って質問しました。
設計がどこか間違ってるのかも。