LoginSignup
0
3

More than 5 years have passed since last update.

最近知った sed で文字列内の特定箇所を取り出す方法

Last updated at Posted at 2017-09-07

最近 sed の便利な機能を知ったので投稿しときます。
sed は文字列の変換や削除などで登場機会がよくあると思いますが、こんな使い方もあるんです。
それではいってみましょ~!

コマンド

sed -e 's/.*\(.*\).*/\1/'

バックスラッシュで囲んだ、括弧である、\(.*\) で取り出したい部分を記述して、\1 で取り出したい部分を指定するカンジです。
ただの括弧だと、文字としての括弧と認識されてしまいます。
\(.*\) はテンプレとして覚えてください。

例文

id コマンドの結果からある文字列を取り出す例文を以下に記載します。

1.ユーザ名のみ取り出したい場合

id | sed -e 's/uid=.*(\(.*\)).*gid=.*/\1/'

2.プライマリグループ名のみ取り出したい場合

id | sed -e 's/uid=.*(\(.*\)).*gid=.*(\(.*\)).*/\2/'

date コマンドで YYYY を取り出すならこんな感じ。
date | sed -e 's/\(.*\)年.*/\1/'

よかったら、使ってみてください。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3