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ランキング
-
ubuntu(linux)のシャットダウン...
-
ubuntuのシャットダウンが進ま...
-
Linux Mint 日本語入力できなく...
-
このエラー内容について教えて...
-
ubuntuで デイスク/deb/loopと...
-
テキストファイルをページ番号...
-
Ubuntu22.04、nanoエディタの使...
-
ViエディタとVimエディタの違い...
-
LinuxでSSH接続について
-
Ubuntu でinvalid filenameとな...
-
LinuxMintが突然フリーズする
-
linuxのIMEの件
-
[Linux初心者]Ubuntu22.04.3LTS...
-
ホストオンリーアダプタで接続...
-
Rasberry pi のオンボードNICの...
-
Kali Linuxで起動できない - Mi...
-
至急です。kubuntu24.04ltsをUS...
-
Kindleアプリについて
-
複数のフォルダを同時に参照し...
-
Ububtuでファイル共有できない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bashでシングルクォート内の変...
-
ubuntu(linux)のシャットダウン...
-
Ububtuでファイル共有できない...
-
WineのRufusでデバイスを検知す...
-
ubuntuで デイスク/deb/loopと...
-
複数のフォルダを同時に参照し...
-
linuxのIMEの件
-
ViエディタとVimエディタの違い...
-
LinuxでSSH接続について
-
AWSでSSH接続をしたいのですが...
-
Kindleアプリについて
-
ubuntuのシャットダウンが進ま...
-
このエラー内容について教えて...
-
Ubuntu on Xorgのログインについて
-
linuxサーバーのキャッシュをク...
-
shellscript内のコマンドを、su...
-
VirtualBox ゲストOSにPC内蔵HD...
-
LinuxMintが突然フリーズする
-
Linux Mint 日本語入力できなく...
-
ssl_error_logのエラー内容(AH...
おすすめ情報
具体的に書くと、自宅のネットワークのスピードをspeedtestで測ってログに出してます。
グラフ化しようと思って、zabbixに取り込みたいと考えています。
DATAは、speedtestの実行結果を1行にしたものです。
2つのファイルに上りと下りを書きだそうと思ったのですが、awkを2回呼び出したくないなと思って質問しました。
設計がどこか間違ってるのかも。