「Linuxコマンド - awk」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
(ページの作成:「== 概要 == <code>awk</code>コマンドとは、入力として受け取った文字列に対して、フィールド区切り文字やレコード区切り文字を指…」)
 
編集の要約なし
65行目: 65行目:
  # 出力
  # 出力
  1 2
  1 2
<br><br>
== OFS ==
<code>OFS</code>(Output Field Separator)とは、awkコマンドの組み込み変数であり、出力のフィールド区切り文字を指定する。<br>
<code>-v</code>オプションは、変数(variable)を指定するという意味のオプションである。<br>
-v '変数=xx'
<br>
以下の例では、OFSに半角スペースを指定して、フィールドの出力を#で区切る。<br>
# 実行
echo 1:2/3:4 | awk -F'[:/]' -v 'OFS= ' '{print $1,$3}'
# 出力
1 3
<br><br>
== RS ==
<code>RS</code>(Record Separator)とは、awkコマンドの組み込み変数であり、入力のレコード区切り文字を指定する。<br>
<br>
以下の例では、/を区切り文字に指定して、1:2と3:4に分けている。<br>
/をレコード区切り文字にして、各レコードから1フィールド目を取得している。<br>
出力は、改行で区切って出力される。(ORSが指定されていないため)<br>
# 実行
echo 1:2/3:4 | awk -F'[:]' -v 'RS=/' '{print $1}'
# 出力
1
3
<br>
# 実行
echo 1:2/3:4 | awk -F'[:]' -v 'RS=/' '{print $1,$2}'
# 出力
1 2
3 4
<br>
フィールド区切り文字とレコード区切り文字で同じ文字がある場合、レコード区切り文字が優先される。<br>
# 実行
echo 1:2/3:4 | awk -F'[:/]' -v 'RS=/' '{print $1,$2}'
# 出力
1 2
3 4
<br><br>
== ORS ==
<code>ORS</code>(Output Record Separator)とは、awkコマンドの組み込み変数であり、出力のレコード区切り文字を指定する。<br>
<br>
以下の例では、"This is ORS"を指定して、レコードの出力を区切っている。<br>
# 実行
echo 1:2/3:4 | awk -F'[:/]' -v 'RS=/' -v 'ORS=This is ORS' '{print $1,$2}'
# 出力
1 2This is ORS3 4
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]]
[[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]]

案内メニュー