12,788
回編集
(ページの作成:「== 概要 == <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]] |