
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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) awkの正規表現での最左最短マッチング 3 2022/07/01 00:10
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- その他(プログラミング・Web制作) awkの BEGIN{RS=""} で空行を削除できるが、削除できる仕組みが分からない。 1 2023/05/02 14:14
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- その他(プログラミング・Web制作) awkの$NR 2 2022/10/24 11:11
- その他(プログラミング・Web制作) テキストデータ変換(プログラミング、linux、python) 8 2023/08/08 16:39
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHP MySql ページング 2 2022/09/20 06:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Core 2 Duo の古いパソコンに最...
-
LinuxでWine使うとどのくらいWi...
-
ubuntu(linux)のシャットダウン...
-
CentOSが起動時にフリーズ
-
2TBのUSBメモリを2000円ほどで...
-
至急です。kubuntu24.04ltsをUS...
-
ubuntuで デイスク/deb/loopと...
-
mxlinux 起動時エラーについて
-
[Linux Mint] インストールした...
-
apacheでリバースプロキシを設...
-
zorin OS
-
ubuntu 24 へのCanon 複合機ス...
-
tarで纏める際に、複数場外した...
-
Fedoraのupgradeで、libruby.so...
-
次のif文について意味を教えて...
-
windowsxpと同じくらい軽いLinu...
-
WineのRufusでデバイスを検知す...
-
LinuxのノートパソコンでDVDコ...
-
raspberryPi で、iPhoneの再生/...
-
windows10を使っています。 wsl...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LinuxでWine使うとどのくらいWi...
-
Core 2 Duo の古いパソコンに最...
-
Linux のシェルスクリプトの強...
-
ubuntu(linux)のシャットダウン...
-
bashでシングルクォート内の変...
-
ubuntuで デイスク/deb/loopと...
-
apacheでリバースプロキシを設...
-
CentOSが起動時にフリーズ
-
ubuntuのシャットダウンが進ま...
-
ubuntu が起動しない。
-
Windowsのローカルディレクトリ...
-
Ububtuでファイル共有できない...
-
Ubuntu on Xorgのログインについて
-
ログにserver reached MaxReque...
-
「/var/log」内のログの削除の...
-
ubuntu 24 へのCanon 複合機ス...
-
ssl_request_logの必要性について
-
私のパソコンでVirtualBoxは使...
-
WineのRufusでデバイスを検知す...
-
LinuxのノートパソコンでDVDコ...
おすすめ情報
具体的に書くと、自宅のネットワークのスピードをspeedtestで測ってログに出してます。
グラフ化しようと思って、zabbixに取り込みたいと考えています。
DATAは、speedtestの実行結果を1行にしたものです。
2つのファイルに上りと下りを書きだそうと思ったのですが、awkを2回呼び出したくないなと思って質問しました。
設計がどこか間違ってるのかも。