teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

文言ちょっと修正。

2020/10/18 08:11

投稿

hidezzz
hidezzz

スコア1248

answer CHANGED
@@ -1,4 +1,4 @@
1
- コマンドラインのawkのスクリプト全体がシングルクォート「'」で囲まれており、「$i」の数値文字列の展開が意図通りには行われません。
1
+ コマンドラインのawkのスクリプト全体がシングルクォート「'」で囲まれており、「$i」の数値文字列の展開が意図通りには行われていません。
2
2
  「$i」の部分が展開されるように、直前で一時的に「'」での囲みを終了させて「$i」は展開させるようにして直後で再び「`」で囲みを開始するようにすれば良いです。
3
3
  (言い換えると'シングルクォートで囲まれた部分'$i'シングルクォートで囲まれた部分'のようにシングルクォートで囲まれた部分が2箇所あるという構造にして、$iの展開だけが行われるようにしています。)
4
4
 

1

シングルクォートの構造についての説明を追加した

2020/10/18 08:11

投稿

hidezzz
hidezzz

スコア1248

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  コマンドラインのawkのスクリプト全体がシングルクォート「'」で囲まれており、「$i」の数値文字列の展開が意図通りには行われません。
2
2
  「$i」の部分が展開されるように、直前で一時的に「'」での囲みを終了させて「$i」は展開させるようにして直後で再び「`」で囲みを開始するようにすれば良いです。
3
+ (言い換えると'シングルクォートで囲まれた部分'$i'シングルクォートで囲まれた部分'のようにシングルクォートで囲まれた部分が2箇所あるという構造にして、$iの展開だけが行われるようにしています。)
3
4
 
4
-
5
5
  ```
6
6
  $ for i in 1 11 15 ;do awk '$NF ~ /^'$i'p.+/' file > outfile$i ; done
7
7
  ```