逆引きUNIXコマンド/指定した行に行挿入したい
の編集
Top
/
逆引きUNIXコマンド
/
指定した行に行挿入したい
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * 指定した行に行挿入したい(出現したキーワードの前後行に行挿入したい) [#x517ce1b] 複数行からなるテキストデータに対し、指定した行に指定した文字列を挿入する方法および~ 指定したキーワードの前後に行挿入する方法を以下に記します。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * 関連記事 [#z0e6661e] -[[指定した範囲の行を取得する方法>逆引きUNIXコマンド/指定した範囲の行を取得する方法]] -[[指定した行に行挿入したい(出現したキーワードの前後行に行挿入したい)>逆引きUNIXコマンド/指定した行に行挿入したい]] -[[指定した文字数毎に文字を挿入したい>逆引きUNIXコマンド/指定した文字数毎に文字を挿入したい]] -[[sedで指定した行を削除する方法>逆引きUNIXコマンド/sedで指定した行を削除する方法]] -[[キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド>逆引きUNIXコマンド/キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド]] -[[sedを使ってスペースの文字列操作を行う>逆引きUNIXコマンド/sedを使ってスペースの文字列操作を行う]] -[[sedを使って改行のみ、スペースのみの行を削除する>逆引きUNIXコマンド/sedを使って改行のみ、スペースのみの行を削除する]] -[[sedでスラッシュを置換する方法>逆引きUNIXコマンド/sedでスラッシュを置換する方法]] -[[指定した範囲の行を取得する方法>逆引きUNIXコマンド/指定した範囲の行を取得する方法]] * sedによる行挿入 [#d1c2f4cb] 以下の構文で指定した行に行挿入することができます。 テスト用テキストデータとして以下の内容を使用しました。 #ref(data.txt) $ cat data.txt one two three four five six seven eight nine ten ** 指定した行に挿入 [#md1f8a61] 指定した行に文字列を挿入してみます。~ 以下の例では5行目に挿入しています。 $ cat data.txt | sed -e '5i sakura at just4fun.biz' one two three four sakura at just4fun.biz five six seven eight nine ten $ cat data.txt | sed -e '5i sakura at just4fun.biz' | cat -n 1 one 2 two 3 three 4 four 5 sakura at just4fun.biz 6 five 7 six 8 seven 9 eight 10 nine 11 ten 5行目に挿入されているのが確認できます。 ちなみに以下の記述でも同様の処理になります。 sed -e '5i sakura at just4fun.biz' data.txt 指定した行に挿入する場合の構文は以下のようになります。 sed -e '数字i 文字列' ファイル名 ** 指定した行の下に挿入 [#q6619260] 指定した行の次に挿入する場合の記述は以下のようになります。 sed -e '数字a 文字列' ファイル名 上記の挿入同様に、5行目を指定して実行してみます。 $ cat data.txt | sed -e '5a sakura at just4fun.biz' | cat -n 1 one 2 two 3 three 4 four 5 five 6 sakura at just4fun.biz 7 six 8 seven 9 eight 10 nine 11 ten ** 指定したキーワードの前後に挿入する場合 [#p8fc91be] 上記では行番号指定でしたが、指定した文字列が出現した場合、その前後に挿入する例を以下に記します。 前に挿入する場合の構文 sed -e '/キーワード'/i 挿入文字列' ファイル名 後ろに挿入する場合の構文 sed -e '/キーワード'/a 挿入文字列' ファイル名 以下、実行例を記します。 $ cat data.txt | sed -e '/two/i INSERT' one INSERT two three four five six seven eight nine ten twoの前に挿入されているのが確認できます。 以下の例では、tがキーワードなので、tが出現する行の前に挿入されているのが確認できます。 $ cat data.txt | sed -e '/t/i INSERT' one INSERT two INSERT three four five six seven INSERT eight nine INSERT ten 以下の例は、キーワードが出現した行の後ろに挿入する例です。 $ cat data.txt | sed -e '/^nine$/a INSERT' one two three four five six seven eight nine INSERT ten 以上、sedをつかって指定した行および指定したキーワード行に行を挿入する方法でした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
タイムスタンプを変更しない
#navi(../) * 指定した行に行挿入したい(出現したキーワードの前後行に行挿入したい) [#x517ce1b] 複数行からなるテキストデータに対し、指定した行に指定した文字列を挿入する方法および~ 指定したキーワードの前後に行挿入する方法を以下に記します。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * 関連記事 [#z0e6661e] -[[指定した範囲の行を取得する方法>逆引きUNIXコマンド/指定した範囲の行を取得する方法]] -[[指定した行に行挿入したい(出現したキーワードの前後行に行挿入したい)>逆引きUNIXコマンド/指定した行に行挿入したい]] -[[指定した文字数毎に文字を挿入したい>逆引きUNIXコマンド/指定した文字数毎に文字を挿入したい]] -[[sedで指定した行を削除する方法>逆引きUNIXコマンド/sedで指定した行を削除する方法]] -[[キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド>逆引きUNIXコマンド/キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド]] -[[sedを使ってスペースの文字列操作を行う>逆引きUNIXコマンド/sedを使ってスペースの文字列操作を行う]] -[[sedを使って改行のみ、スペースのみの行を削除する>逆引きUNIXコマンド/sedを使って改行のみ、スペースのみの行を削除する]] -[[sedでスラッシュを置換する方法>逆引きUNIXコマンド/sedでスラッシュを置換する方法]] -[[指定した範囲の行を取得する方法>逆引きUNIXコマンド/指定した範囲の行を取得する方法]] * sedによる行挿入 [#d1c2f4cb] 以下の構文で指定した行に行挿入することができます。 テスト用テキストデータとして以下の内容を使用しました。 #ref(data.txt) $ cat data.txt one two three four five six seven eight nine ten ** 指定した行に挿入 [#md1f8a61] 指定した行に文字列を挿入してみます。~ 以下の例では5行目に挿入しています。 $ cat data.txt | sed -e '5i sakura at just4fun.biz' one two three four sakura at just4fun.biz five six seven eight nine ten $ cat data.txt | sed -e '5i sakura at just4fun.biz' | cat -n 1 one 2 two 3 three 4 four 5 sakura at just4fun.biz 6 five 7 six 8 seven 9 eight 10 nine 11 ten 5行目に挿入されているのが確認できます。 ちなみに以下の記述でも同様の処理になります。 sed -e '5i sakura at just4fun.biz' data.txt 指定した行に挿入する場合の構文は以下のようになります。 sed -e '数字i 文字列' ファイル名 ** 指定した行の下に挿入 [#q6619260] 指定した行の次に挿入する場合の記述は以下のようになります。 sed -e '数字a 文字列' ファイル名 上記の挿入同様に、5行目を指定して実行してみます。 $ cat data.txt | sed -e '5a sakura at just4fun.biz' | cat -n 1 one 2 two 3 three 4 four 5 five 6 sakura at just4fun.biz 7 six 8 seven 9 eight 10 nine 11 ten ** 指定したキーワードの前後に挿入する場合 [#p8fc91be] 上記では行番号指定でしたが、指定した文字列が出現した場合、その前後に挿入する例を以下に記します。 前に挿入する場合の構文 sed -e '/キーワード'/i 挿入文字列' ファイル名 後ろに挿入する場合の構文 sed -e '/キーワード'/a 挿入文字列' ファイル名 以下、実行例を記します。 $ cat data.txt | sed -e '/two/i INSERT' one INSERT two three four five six seven eight nine ten twoの前に挿入されているのが確認できます。 以下の例では、tがキーワードなので、tが出現する行の前に挿入されているのが確認できます。 $ cat data.txt | sed -e '/t/i INSERT' one INSERT two INSERT three four five six seven INSERT eight nine INSERT ten 以下の例は、キーワードが出現した行の後ろに挿入する例です。 $ cat data.txt | sed -e '/^nine$/a INSERT' one two three four five six seven eight nine INSERT ten 以上、sedをつかって指定した行および指定したキーワード行に行を挿入する方法でした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
テキスト整形のルールを表示する
添付ファイル:
data.txt
604件
[
詳細
]