クリップボードにコピーしました!
文字列のsed

[sed] 実行して理解 指定した行の先頭に文字列を追加

created-2026/03/24 updated-2026/03/25

はじめに

このリポジトリは、sedコマンドを実行してファイル内の指定した行の先頭に文字列を追加して標準出力に表示します

インストールする必要のあるコマンド

  1. git

クイックスタート

上記のコマンドをインストール済みの方は、以下のコマンドを実行してリポジトリからダウンロード後、ディレクトリを移動し、sedコマンドを実行して指定した行の先頭に文字列が追加されているか確認してください

Ubuntu

git clone https://github.com/trygfmi/sed_insert-string
cd sed_insert-string
cat test1.txt
sed '2i\
fff' test1.txt
出力結果
aaa
bbb
ccc
ddd
eee

aaa
fff
bbb
ccc
ddd
eee

macOS

MacPorts

source ~/bashrc_folder/macports_alias
git clone https://github.com/trygfmi/sed_insert-string
cd sed_insert-string
cat test1.txt
sed '2i\
fff' test1.txt
出力結果
aaa
bbb
ccc
ddd
eee

aaa
fffbbb
ccc
ddd
eee

Windows

WSL2

git clone https://github.com/trygfmi/sed_insert-string
cd sed_insert-string
cat test1.txt
sed '2i\
fff' test1.txt
出力結果
aaa
bbb
ccc
ddd
eee

aaa
fff
bbb
ccc
ddd
eee

MSYS2 MINGW64

git clone https://github.com/trygfmi/sed_insert-string
cd sed_insert-string
cat test1.txt
sed '2i\
fff' test1.txt
出力結果
aaa
bbb
ccc
ddd
eee

aaa
fff
bbb
ccc
ddd
eee

実行手順

Ubuntu

クリックして詳細を開く

事前準備

以下のコマンドを端末に打ち込んでcommand not foundが出なければokです

git --version

preinstall

端末にcommand not foundが出たコマンドを以下のコマンドでインストールしてください

sudo apt install git

コマンド

以下のコマンドを端末で実行することで詳細のような文字列が出力されるはずです

git clone https://github.com/trygfmi/sed_insert-string
cd sed_insert-string
cat test1.txt
sed '2i\
fff' test1.txt
詳細
aaa
bbb
ccc
ddd
eee

aaa
fff
bbb
ccc
ddd
eee

macOS

クリックして詳細を開く

事前準備

以下のコマンドをターミナルに打ち込んでcommand not foundが出なければokです

source ~/bashrc_folder/macports_alias
git --version

※macOSはMacPortsパッケージマネージャを使用してコマンドを管理します。もしインストールしていない方は以下のリンクからMacPortsのインストール手順をご覧ください
またコマンドに別名を設定して既存の環境と競合しないでコマンドを呼び出せるようにします。
初めてこのブログを利用する方は、以下の2つの記事を参考に環境構築してください

preinstall

ターミナルでcommand not foundが出たコマンドを以下のコマンドでインストールしてエイリアスを設定してください

sudo port install git
echo 'alias git="/opt/local/bin/git"' >> ~/bashrc_folder/macports_alias

コマンド

以下のコマンドをターミナルで実行することで詳細のような文字列が出力されるはずです

source ~/bashrc_folder/macports_alias
git clone https://github.com/trygfmi/sed_insert-string
cd sed_insert-string
cat test1.txt
sed '2i\
fff' test1.txt
詳細
aaa
bbb
ccc
ddd
eee

aaa
fffbbb
ccc
ddd
eee

Windows

クリックして詳細を開く

事前準備

以下のコマンドをプロンプトに打ち込んでcommand not foundが出なければokです

WSL2
git --version
MSYS2 MINGW64
git --version

※WindowsはWSL2とMSYS2 MINGW64で確認しています。可能な限りWSL2をインストールしていただいて、もし設定できなかった場合はMSYS2をインストールすることで実行できますが、所々WSL2でしか実行できないコマンドが出てくるかもしれません。WSL2とMSYS2のインストール方法は下記の記事を参考にしてください

preinstall

プロンプトでcommand not foundが出たコマンドを以下のコマンドでインストールしてください

WSL2
sudo apt install git
MSYS2 MINGW64
pacman --sync git

コマンド

以下のコマンドをプロンプトで実行することで詳細のような文字列が出力されるはずです

WSL2
git clone https://github.com/trygfmi/sed_insert-string
cd sed_insert-string
cat test1.txt
sed '2i\
fff' test1.txt
詳細
aaa
bbb
ccc
ddd
eee

aaa
fff
bbb
ccc
ddd
eee
MSYS2 MINGW64
git clone https://github.com/trygfmi/sed_insert-string
cd sed_insert-string
cat test1.txt
sed '2i\
fff' test1.txt
詳細
aaa
bbb
ccc
ddd
eee

aaa
fff
bbb
ccc
ddd
eee

終わりに

macOSで指定した行に追加した文字列だけを表示したい場合、以下のように'(シングルクオーテーション)の後の文字列を次の行に記述することで可能です
その際に\(バックスラッシュ)をつけるのを忘れないでください

sed '2i\
fff\
' test1.txt

sedコマンドの使い方一覧

この記事以外にもsedコマンドの記事があります
以下のリンク先で紹介していますのでよろしければご覧ください

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

©︎ 2025-2026 todo