SlideShare a Scribd company logo
1 of 59
sedで複数行処理
使ってみようNを
sedは行単位で処理する
foo
bar
baz
qux
sed -e 's/ba.*/vanitas/'
foo
bar
baz
qux
sed -e 's/ba.*/vanitas/'
foo
bar
baz
qux
foo
bar
baz
qux
sed -e 's/ba.*/vanitas/'
foo
vanitas
baz
qux
foo
bar
baz
qux
sed -e 's/ba.*/vanitas/'
foo
vanitas
vanitas
qux
foo
bar
baz
qux
sed -e 's/ba.*/vanitas/'
foo
vanitas
vanitas
qux
複数行を処理したい!
<data>
this is data.
</data>
sed -e 's!(<data>)n.*(</data>)!12!'
<data>
this is data.
</data>
sed -e 's!(<data>)n.*(</data>)!12!'
<data>
this is data.
</data>
<data>
this is data.
</data>
sed -e 's!(<data>)n.*(</data>)!12!'
<data>
this is data.
</data>
<data>
this is data.
</data>
sed -e 's!(<data>)n.*(</data>)!12!'
<data>
this is data.
</data>
そこでN
N
現在の処理領域に次の行を追加する
<data>
this is data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
<data>
this is data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
<data>
this is data.
</data>
<data>
this is data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
<data>
this is data.
</data>
<data>
this is data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
<data>
this is data.
</data>
<data>
this is data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
<data></data>
現実は甘くない
foo
<data>
this is data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
foo
<data>
this is data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
foo
<data>
this is data.
</data>
foo
<data>
this is data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
foo
<data>
this is data.
</data>
foo
<data>
this is data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
foo
<data>
this is data.
</data>
foo
<data>
this is data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
foo
<data>
this is data.
</data>
<data>
this is
data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
<data>
this is
data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
<data>
this is
data.
</data>
<data>
this is
data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
<data>
this is
data.
</data>
<data>
this is
data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
<data>
this is
data.
</data>
<data>
this is
data.
</data>
sed -e 'N;N;s!(<data>)n.*(</data>)!12!'
<data>
this is
data.
</data>
現実への対処法
<data>
this is
data.
</data>
sed -f remover.sed
<data>
this is
data.
</data>
sed -f remover.sed
# remover.sed
:a
N
s!(<data>).*(</data>)!12!
Ta
P
D
<data>
this is
data.
</data>
sed -f remover.sed
# remover.sed
:a
N
s!(<data>).*(</data>)!12!
Ta
P
D
<data></data>
<data>
this is
data.
</data>
sed -f remover.sed
# remover.sed
:a
N
s!(<data>).*(</data>)!12!
Ta
P
D
<data></data>
FIN
:a
N
s!(<data>).*(</data>)!12!
Ta
P
D
:a
N
s!(<data>).*(</data>)!12!
Ta
P
D
:label
labelを定義する
:a
N
s!(<data>).*(</data>)!12!
Ta
P
D
N
現在の処理領域に次の行を追加する
:a
N
s!(<data>).*(</data>)!12!
Ta
P
D
T label
sコマンドが成功していなければ、labelに分岐する
:a
N
s!(<data>).*(</data>)!12!
Ta
P
D
P
処理領域の内容を最初の改行まで出力する
:a
N
s!(<data>).*(</data>)!12!
Ta
P
D
D
処理領域の内容を最初の改行まで(あるいは全て)削除する
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
data.
</data>
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
data.
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
data.
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
data.
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
data.
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
data.
</data>
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data>
this is
data.
</data>
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data></data>
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data></data>
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
<data></data>
# output
<data></data>
:a ラベルa
N 一行追加
s!(<data>).*(</data>)!12!
Ta 置換失敗ならaへ
P 処理領域出力
D 処理領域削除
# output
<data></data>
これでxmlも怖くない!

More Related Content

What's hot

DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談oheso tori
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報Emma Haruka Iwao
 
JANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source ImplementationsJANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source ImplementationsKentaro Ebisawa
 
パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501稔 小林
 
Linux女子部 iptables復習編
Linux女子部 iptables復習編Linux女子部 iptables復習編
Linux女子部 iptables復習編Etsuji Nakai
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPFShuji Yamada
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係Yoshio Hanawa
 
Spiderストレージエンジンのご紹介
Spiderストレージエンジンのご紹介Spiderストレージエンジンのご紹介
Spiderストレージエンジンのご紹介Kentoku
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話Kazuho Oku
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会真乙 九龍
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編Taro L. Saito
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたMITSUNARI Shigeo
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動Takashi Takizawa
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 

What's hot (20)

Consistent hash
Consistent hashConsistent hash
Consistent hash
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
 
JANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source ImplementationsJANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source Implementations
 
パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501
 
Linux女子部 iptables復習編
Linux女子部 iptables復習編Linux女子部 iptables復習編
Linux女子部 iptables復習編
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
 
Spiderストレージエンジンのご紹介
Spiderストレージエンジンのご紹介Spiderストレージエンジンのご紹介
Spiderストレージエンジンのご紹介
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
OpenvswitchでVPS
OpenvswitchでVPSOpenvswitchでVPS
OpenvswitchでVPS
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 

More from Takaaki Hirano

プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介Takaaki Hirano
 
金曜だけどデザインパターンでも勉強しよう
金曜だけどデザインパターンでも勉強しよう金曜だけどデザインパターンでも勉強しよう
金曜だけどデザインパターンでも勉強しようTakaaki Hirano
 
PHP array_uintersectに潜む罠
PHP array_uintersectに潜む罠PHP array_uintersectに潜む罠
PHP array_uintersectに潜む罠Takaaki Hirano
 
非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話Takaaki Hirano
 
月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 Builder月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 BuilderTakaaki Hirano
 
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract FactoryTakaaki Hirano
 
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
月曜だからデザインパターンでも勉強しよう vol.2 FlyweightTakaaki Hirano
 
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & SingletonTakaaki Hirano
 
Mysql(クライアント)の出力が変わるオプション達
Mysql(クライアント)の出力が変わるオプション達Mysql(クライアント)の出力が変わるオプション達
Mysql(クライアント)の出力が変わるオプション達Takaaki Hirano
 
curl_multi_exec()でFire-and-forgetに失敗した話
curl_multi_exec()でFire-and-forgetに失敗した話curl_multi_exec()でFire-and-forgetに失敗した話
curl_multi_exec()でFire-and-forgetに失敗した話Takaaki Hirano
 
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読みTakaaki Hirano
 
PHPUnit 4.0で追加されたwillReturn*()の紹介
PHPUnit 4.0で追加されたwillReturn*()の紹介PHPUnit 4.0で追加されたwillReturn*()の紹介
PHPUnit 4.0で追加されたwillReturn*()の紹介Takaaki Hirano
 
書こう!正規表現 vol.3 ()
書こう!正規表現 vol.3 ()書こう!正規表現 vol.3 ()
書こう!正規表現 vol.3 ()Takaaki Hirano
 
ctagsでvimにひきこもる
ctagsでvimにひきこもるctagsでvimにひきこもる
ctagsでvimにひきこもるTakaaki Hirano
 
書こう!正規表現 vol.2 文字クラス(例外)
書こう!正規表現 vol.2 文字クラス(例外)書こう!正規表現 vol.2 文字クラス(例外)
書こう!正規表現 vol.2 文字クラス(例外)Takaaki Hirano
 
書こう!正規表現 vol.2 文字クラス(基本)
書こう!正規表現 vol.2 文字クラス(基本)書こう!正規表現 vol.2 文字クラス(基本)
書こう!正規表現 vol.2 文字クラス(基本)Takaaki Hirano
 
書こう!ユニットテスト vol.2 どうやって?
書こう!ユニットテスト vol.2 どうやって?書こう!ユニットテスト vol.2 どうやって?
書こう!ユニットテスト vol.2 どうやって?Takaaki Hirano
 
書こう!正規表現 vol.1 正規表現 is 何
書こう!正規表現 vol.1 正規表現 is 何書こう!正規表現 vol.1 正規表現 is 何
書こう!正規表現 vol.1 正規表現 is 何Takaaki Hirano
 
書こう!ユニットテスト vol.1 ナンデ?
書こう!ユニットテスト vol.1 ナンデ?書こう!ユニットテスト vol.1 ナンデ?
書こう!ユニットテスト vol.1 ナンデ?Takaaki Hirano
 
PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠Takaaki Hirano
 

More from Takaaki Hirano (20)

プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介
 
金曜だけどデザインパターンでも勉強しよう
金曜だけどデザインパターンでも勉強しよう金曜だけどデザインパターンでも勉強しよう
金曜だけどデザインパターンでも勉強しよう
 
PHP array_uintersectに潜む罠
PHP array_uintersectに潜む罠PHP array_uintersectに潜む罠
PHP array_uintersectに潜む罠
 
非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話
 
月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 Builder月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 Builder
 
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
 
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
 
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
 
Mysql(クライアント)の出力が変わるオプション達
Mysql(クライアント)の出力が変わるオプション達Mysql(クライアント)の出力が変わるオプション達
Mysql(クライアント)の出力が変わるオプション達
 
curl_multi_exec()でFire-and-forgetに失敗した話
curl_multi_exec()でFire-and-forgetに失敗した話curl_multi_exec()でFire-and-forgetに失敗した話
curl_multi_exec()でFire-and-forgetに失敗した話
 
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
 
PHPUnit 4.0で追加されたwillReturn*()の紹介
PHPUnit 4.0で追加されたwillReturn*()の紹介PHPUnit 4.0で追加されたwillReturn*()の紹介
PHPUnit 4.0で追加されたwillReturn*()の紹介
 
書こう!正規表現 vol.3 ()
書こう!正規表現 vol.3 ()書こう!正規表現 vol.3 ()
書こう!正規表現 vol.3 ()
 
ctagsでvimにひきこもる
ctagsでvimにひきこもるctagsでvimにひきこもる
ctagsでvimにひきこもる
 
書こう!正規表現 vol.2 文字クラス(例外)
書こう!正規表現 vol.2 文字クラス(例外)書こう!正規表現 vol.2 文字クラス(例外)
書こう!正規表現 vol.2 文字クラス(例外)
 
書こう!正規表現 vol.2 文字クラス(基本)
書こう!正規表現 vol.2 文字クラス(基本)書こう!正規表現 vol.2 文字クラス(基本)
書こう!正規表現 vol.2 文字クラス(基本)
 
書こう!ユニットテスト vol.2 どうやって?
書こう!ユニットテスト vol.2 どうやって?書こう!ユニットテスト vol.2 どうやって?
書こう!ユニットテスト vol.2 どうやって?
 
書こう!正規表現 vol.1 正規表現 is 何
書こう!正規表現 vol.1 正規表現 is 何書こう!正規表現 vol.1 正規表現 is 何
書こう!正規表現 vol.1 正規表現 is 何
 
書こう!ユニットテスト vol.1 ナンデ?
書こう!ユニットテスト vol.1 ナンデ?書こう!ユニットテスト vol.1 ナンデ?
書こう!ユニットテスト vol.1 ナンデ?
 
PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠
 

Recently uploaded

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (9)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

sedで複数行処理 使ってみようNを