Help us understand the problem. What is going on with this article?

自分用メモ:Linuxコマンド①

More than 1 year has passed since last update.

先頭の空白を削除するコマンド例
$ sed -e 's/^[ ]*//g' hoge.txt或いは
$ sed 's/^[ \t]*//' hoge.txt

行末の空白を削除するコマンド例
$ sed -e 's/[ \t]*$//' hoge.txt

ファイル全体から目的の行を抜き出す例
class="paging-number"属性のある行をgrepコマンドでフィルタリングする場合
$ cat index.html | grep -E 'class="paging-number"'
<li class="paging-number">1</li>
<li class="paging-number">1 - 20 / 2000</li>

更に下側を抜き出したい場合
$ cat index.html | grep -E 'class="paging-number".*-'1
<li class="paging-number">1 - 20 / 2000</li>

行から目的の文字列を抜き出す例
$ cat gihyo.jp/dp/index.html | grep -E 'class="paging-number".*-'
| sed -E 's@.*/ ([0-9]+).*@\1@'
2
2000
正規表現にマッチした箇所を取り除き残った箇所を抜き出す場合
$ echo '<li class="paging-number">1 - 20 / 2000</li>' | sed -E 's/[^>]*>//g'3
1 - 20 / 2000
特定の文字で区切られた文字列からn番目を抜き出す場合
$ echo '1,foo,bar' | cut -d , -f 2
foo
スペースで桁揃えされた文字列からn番目を抜き出す場合4
$ echo 'PID COMMAND %CPU TIME #TH #WQ #PORT MEM' | awk '{print $4}'
TIME


  1. 「.*」は「>1 」を指すことになるから'class="paging-number">1 -'でもいいってこと 

  2. sedコマンド区切り文字は改行とバックスラッシュを除く任意の文字に変更できる。正規表現中に/(スラッシュ)が登場する場合、バックスラッシュでエスケープしなくていいので可読性が向上する。 

  3. 「0回以上の>ではない文字列に文字>が付く文字列」を空文字に変換 

  4. cutコマンドは区切り文字1文字しか指定できないので、スペースで桁揃えされた文字列のように区切り文字が連続する場合は向いていない。このような場合はスペース限定でawkが使える。 

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away