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

回答編集履歴

1

修正

2016/10/09 12:55

投稿

otn
otn

スコア86430

answer CHANGED
@@ -1,9 +1,14 @@
1
1
  こういう時は、`grep -o`を使います。
2
- フィールドに英数字しか含まれないのであれば、単語境界`\b`を使って簡単に書けます。
2
+ フィールドに英数字しか含まれないのであれば、単語境界`\b`を使って簡単に書けます。**(追記に訂正有り)**
3
3
  ```Bash
4
4
  grep -o '\ba\w*\b'
5
5
  ```
6
6
  記号とかも含まれるなら、Perl拡張正規表現で、行頭・行末・空白文字を後読み・先読みさせて、
7
7
  ```Bash
8
8
  grep -P -o '(?<=^|\s)a\S*(?=$|\s)'
9
- ```
9
+ ```
10
+ #追記
11
+ 先に下の方を作ってから上のを書いたので、`\b`を使ってしまいましたが、上のはこれでいいですね。
12
+ ```Bash
13
+ grep -o -w 'a\w*'
14
+ ```