HOME > > sed <

sed <

sed <鐚膃篋鐚障<荀筝鐚2015-5-26鐚


2014-10-04 筝贋

腱絨紊уソ

gnu.org "sed, a stream editor" (http://www.gnu.org/software/sed/manual/sed.html) 篏ユ茯荐潟http://www.bookshelf.jp/texi/sed/sed-ja_toc.html c

  • sed 壕
  • 2 茵帥若潟
  • sed ф笈遵壕
  • sed ф壕潟若紊
  • 潟潟
  • 若鴻若鴻
  • 医ゃ潟<潟
  • 茵阪
  • 筝茵絖違
  • URL 遵

    sed 壕

    亥障鐚2015-5-26鐚

    (1) ュ壕阪

    ュ壕阪壕絖鴻激ャч違

    s/xyz/&\
    /
    

    絋(箴 xyz 緇壕水ャ& 篏腓冴)

    (2) 腥肴

    腥肴ゃ壕ゃ茵篏 d 潟潟уゃ医号

    /^$/d
    

    (3) 壕

    壕綽荀sed ュ筝茵よ粋昭罩h頫憗茵壕篁罕с

    sed 茯粋昭茵茵壕ゃ帥若潟鴻若鴻若違<主с鴻緇帥若潟鴻若鴻絎鴻壕ゃ阪с

    The \n symbol does not match the newline at an end-of-line because when sed reads each line into the pattern space for processing, it strips off the trailing newline, processes the line, and adds a newline back when printing the line to standard output. (http://www.student.northpark.edu/pemente/sed/sedfaq3.html)

    N 潟潟篏帥c罨∴帥若潟鴻若鴻絎鴻菴遵帥若潟鴻若鴻筝壕 \n N 潟潟ゃ茯

    荅帥 abc緇壕膓翫壕ゃ帥

    abc
    edf
    

    ュ絲障

    /abc$/N
    s/\n//
    

    潟潟絎茵

    agcdef
    

    abc
    abc
    def
    

    絋違N 潟潟 s 潟潟筝綺絎茵с阪

    abcabc
    def
    

    筝с

    :a
    /abc$/N
    /abc$/b a
    s/\n//g
    

    違сN 潟潟茵g緇帥若潟鴻若鴻緇 abc 茯帥鴻с b 潟潟с a <鴻<ゃ筝茵祉渇g篏罐茵篁ヤg鴻茵c翫壕ゃ

    箴茵 abc 違cс絎緇膓茵帥若潟鴻若鴻菴遵御с

    茵 abc 翫茵壕ゃс茵茯粋昭鴻с帥若潟鴻若鴻罨<茵菴遵違

    :a
    N
    s/abc\n/abc/
    t a
    P
    D
    

    罨∴ N 潟潟чg障s 潟潟臀 abc 膓壕絖ゃ荅帥t 潟潟х舟ゅャ臀紊掩翫P 潟潟с帥若潟鴻若鴻筝莨若障壕篁ュ潟D 潟潟с帥若潟鴻若鴻ゃ鐚D 潟潟ゃ茯鐚障祉c罨∴茯粋昭臀翫 a 違祉膓

    1 茵吟ゅャ帥絽吾 2 茵吟帥若潟鴻若鴻篆с

    (茖莇 1) t 潟潟s 潟潟壕ゃ障сD 潟潟帥若潟鴻若劫絎鴻ゃ障с s 潟潟荀壕с障

    (茖莇 2) D 潟潟若莨若障壕障с帥若潟鴻若鴻ゃ<障帥若潟鴻若鴻篏罧c違違ュ茵茯粋昭閩<泣ゃ紮с

    鴻羆с蕭abc 茵壕ゃ帥abc 緇膓壕ゃ茯臥g<abc def 壕ゃ紊膂≦壕ゃ臀сs 潟潟с帥若潟壕障翫臀腟壕違紜臀с篋sed 茵篏с篁ヤ臀茵紜羝翫

    罨<abc с茵 def с障茵腥肴水ャ茯臥帥臀c帥若潟鴻若剛賢茵違紜障宴若鴻с

    /\n/{P
    D}
    N
    s/abc\ndef/abc\
    \
    def/
    P
    D
    

    障 2 茵帥若潟鴻若鴻筝莨若障壕翫<違緇壕障с阪(帥若潟鴻若鴻)ゃсD 潟潟絎茵九勝腱祉с 2 茵若腟茵 P, D 潟潟絎茵筝荀♂荀九勝茵腱祉帥若潟鴻若鴻絎鴻冴障

    羆с蕭箙掩眼帥ュ<ゃ筝鴻茵g帥若潟鴻若鴻荅違莨若帥筝羂臀障

    :a
    $!N
    $!b a
    s/\nabc/abc/g
    

    3 茵c綣桁ュ<ゃ絎鴻筝ゃゃ帥若潟鴻若鴻若莨若с鐚腟茵ャゃ腟茵 N 潟潟絎茵с帥若潟鴻若鴻絎鴻阪腟篋障篁ヤ臀潟潟絎茵鐚

    3 茵障吾違紊翫sed 罩h頫憗茵壕狗ゅ号鐚鐚鐚翫c<≪莇潟醇с sed 狗sed 篏帥<≪狗 sed 医т戎c<≪莇潟演冴睡ャ鴻с

    障<≪篏帥ゃゃ障医ц sed c綣決茵c眼鴻吾鴻с :-)

    сsed 帥若潟鴻若鴻祉若鴻若鴻<絖筝帥с<с帥若潟鴻若鴻絎鴻<ャ綣冴cc宴若鴻絲上鴻吾с翫c祉吟吾鴻罧笈遵壕с

    2 茵帥若潟

    壕∴「膣≪2 茵障帥若潟絲障翫違

    ____abc_____a
    bc__abc____ab
    c___abc____ab
    

    ュ絲障abc xyz 紊阪

    ____xyz_____xyz
    __xyz____xyz
    ___xyz____ab
    

    cabc 壕障c膊鴻с箴c sed 筝茵ゃ膣眼 2 茵帥若潟

    (1) 激c

    <≪祉絨篏帥

    # 1 茵障帥若潟臀
    s/abc/xyz/g
    N
    # 2 茵帥若潟臀
    s/ab\nc/xyz\
    /
    s/a\nbc/xyz\
    /
    P
    D
    

    с<c茯

    莎ゅ鐚紊絖鐚潟潟羌祉<若吾茯粋昭帥糸阪九勝潟潟<膩絖鐚篏鐚abc xyz 臀 s 潟潟с

    羌篁ヤ筝茵障c帥若潟臀鐚 s 潟潟鐚罨<茵帥若潟鴻若鴻菴遵鐚N 潟潟鐚2茵障帥若潟臀鐚2,3 s 潟潟鐚帥若潟鴻若鴻莨若障壕篁ュ潟鐚P 潟潟鐚уわD 潟潟鐚障

    筝荐箴т莎激c荅潟頳帥

    潟潟帥若潟鴻若劫絎阪絎
    1茵障帥若潟臀1 茵
    N1 茵壕2 茵
    2茵障帥若潟臀1 茵壕2 茵
    P1 茵壕2 茵1 茵壕
    D2 茵
    1茵障帥若潟臀2 茵
    N2 茵壕3 茵
    2茵障帥若潟臀2 茵壕3 茵
    P2 茵壕3 茵2 茵壕
    D3 茵
    1茵障帥若潟臀3 茵
    N3 茵3 茵壕
    腟篋

    鐚茖莇1鐚sed с泣ゃ鴻腟茵障с九勝茵ゃ罨<ュ茵茯粋昭障D 潟潟篏帥九勝祉帥若潟鴻若鴻腥冴с茵茯粋昭障

    鐚茖莇2鐚N 潟潟茯粋昭鴻罨<茵帥若潟鴻若鴻冴 sed 腟篋

    鐚茖莇3鐚s 潟潟 N 潟潟緇篋膊吾宴 s 潟潟2, 3 s 潟潟翫臀筝茵障c帥若潟絲障篋臀潟潟絎茵障腟abc aabc 臀翫aaabc c障

    鐚茖莇4鐚堺腓冴箴鴻сs 潟潟壕羔サ紜潟若c潟違膂≦c

    (2) 綣桁

    篁ヤ鴻ュ罸箴<≪篏睡紜<≪莇潟ゃゃ

    :a
    $!N
    $!b a
    # 1 茵障帥若潟臀
    s/abc/xyz/g
    # 2 茵帥若潟臀
    s/a\nbc/xyz\
    /g
    s/ab\nc/xyz\
    /g
    

    鴻сュ鴻筝ゃゃ帥若潟鴻若鴻吟∴昭帥臀茵c

    罧笈遵壕

    鐚腱 sed 篏帥c違吾<≪с茵紊т三鴻吾鏆荀с障荐綽泣ゃссc膂≧鴻sed <鐚膃篋鐚罧笈遵壕ゃ鐚1鐚 罧笈遵壕ゃ鐚2鐚障 2015-5-16鐚

    筝茵20絖腮帥吾20絖壕ャ篋冴翫茵茹鴻若鴻号笈純荐垩c紊若絖域┃絎ャ篋冴紊帥若潟с

    sed с泣ゃ腮帥帥ゃ障壕罧笈純緇帥ゃ罧笈遵壕ゃ茵ゃсゃ sed 篏罐с違sed 茵c帥с壕茵腟腓冴ゃ障茵膩緇 sed 篋や札筝茵ゃ篏罐

    сс若鴻若篏帥鴻c鐚鴻若鴻荀潟種若鴻篏帥障障鐚

    鴻若鴻障腥肴障cゃ障ф絵

    #!/bin/sed -nf
    # 腟茵
    ${
      H
      x
      s/\n//g
      p
      b
    }
    # 鴻若鴻у障腟茵篁ュ茵
    /^[ ]/{
      x
      s/\n//g
      p
      b
    }
    # 鴻若鴻у障腟茵篁ュ茵
    H
    

    障<若帥若潟腥肴罧笈純阪壕絎茯帥ャ LaTeX 腮帥綵√c腮帥с違 sed ус

    罕 ed цсゃс荐c

    羈篁ヤ sed 鴻腥肴ゃ障鴻若号絖茵腥肴宴

    #!/bin/sed -nf
    # 腟茵
    ${
      H
      x
      s/\n//g
      p
      b
    }
    # 腥肴
    /^[ ]*$/{
      x
      s/\n//g
      /[^ ]/p
      b
    }
    # 篁ュ茵
    H
    

    篁ヤ 2 箴ゃ ed цc膂≦

    sed ф壕潟若紊

    亥障鐚2015-5-26鐚

    壕潟若 sed у荅宴違域潟LF CR CR LF 娯紊荅演с sed сゃ馹鴻Unix/Linux 医翫帥

    膃筝馹sed 堺医桁純鴻御с壕腓冴鴻宴若激若宴潟鴻鴻筝吾鴻 sed 純сGNU sed \x 16 蚊茵荐сLF \x0aCR \x0d 吾с鐚 http://www.gnu.org/software/sed/manual/sed.html#Escapes 鐚 Mac ャc sed сс鐚馹激с罘純篏帥c帥с違bash с $'\x0d' 吾 CR 茵絋с激с箴絖違腱сbash 吾鴻 sh с障莎激鐚

    膃篋馹膃筝馹羞怨祉сsed 鴻茵壕ゃ緇壕ゃ阪篁罕с鐚<ゃ絨障ゃ鐚堺Linux 医т戎 sed 茵 LF ゃ臀膈茵c緇 LF 篁阪眼sed ф壕潟若紊眼荐c馹障紊筝箴Linux 筝 LF CR LF CR 違 sed с純鐚馹帥鴻茵ゃ茯粋昭ус:a;$!N;$!ba 箴障<鴻綏紊с<ゃ翫馹莎激鐚

    膃筝馹CR 壕 Linux с壕茯茘茲域<ゃ激茵 1 茵茹i綏紊с<ゃ<≪蕋ゃ

    sed 篏壕潟若茯茘 LF, CR, CRLF 3 ゃ帥若潟障LF, CR, CRLF 娯紊 6 sed 腮蕁馹激с鴻宴若激若宴潟鴻宴馹<ゃ筝羂<茯粋昭障演冴ゃゆсsed 壕潟若紊眼紊у

    Unix/Linux 医с腟茫

    <ゃ泣ゃ冴紊с<≪筝莇潟фゅ医х若篏帥罨<c

    tr 綣激сLFCRLFCRCRLF сLFCRLF Perl GNU sed ссCRCRLF tr CRLF Perl GNU sed LF CRLF 篋罧究

    (1)LF CR tr "\n" "\r"
    perl -p -e 's/\n/\r/'
    (2)LF CRLF sed -e 's/$/\x0d/' # GNU sed
    perl -p -e 's/\n/\r\n/'
    (3)CRLF LF tr -d "\r"
    sed -e 's/\x0d$//' # GNU sed
    perl -p -e 's/\r//'
    (4)CRLF CR tr -d "\n"
    perl -p -e 's/\n//'
    (5)CR LF tr "\r" "\n"
    (6)CR CRLF tr "\r" "\n" | sed -e 's/$/\x0d/' # GNU sed
    tr "\r" "\n" | perl -p -e 's/\n/\r\n/'

    潟潟

    潟潟篏緇腓冴с潟潟緇茖篏茯с障

    n 潟潟

    n 潟潟 N 潟潟ссn 潟潟荀帥鐚N 潟潟ゃ緇菴逸莇潟n 潟潟 -n 激с潟篏≫

    n 潟潟憜帥若潟祉鴻若鴻絎鴻冴罨<茵茯粋昭<憜茵垩ゃ潟<潟憜帥若潟祉鴻若鴻絎鴻冴篏 -n 激с割戎吟

    箴荀帥

    絅域糸倶域阪

    ュ<ゃ絅域阪

    n
    d
    

    違 2 絖鴻鐚-n 激с潟筝荀鐚ゃ茯

       # 帥若潟鴻若鴻 1 茵茯粋昭
    n  # 帥若潟鴻若鴻阪罨∴帥若潟鴻若鴻茯粋昭
    d  # 帥若潟鴻若鴻ゃ
       # ゃ帥若潟鴻若鴻阪腥冴
    

    倶域阪

    1d
    n
    d
    

    -n 激с割荀ゃ茯

       # 帥若潟鴻若鴻 1 茵茯粋昭
    1d #  1 茵
       #   帥若潟鴻若鴻ゃ
       #   違ュ茵茯粋昭帥
       #   鴻九勝祉
    n  # 帥若潟鴻若鴻阪罨∴帥若潟鴻若鴻茯粋昭
    d  # 帥若潟鴻若鴻ゃ
       # ゃ帥若潟鴻若鴻阪腥冴
    

    篋冴3 域≪阪荅帥吾cゃф吾障ゃ鴻

    n
    n
    s/.*/aho/
    

    -n 激с潟筝荀

    N 潟潟

    違茵帥若潟鴻若鴻茯粋昭篁ュc絎鴻違顄粋昭障絎鴻壕絖c阪筝茯

    篋潟N 潟潟茵潟茵蚊

    $ cat t.txt
    123
    456
    789
    

    <ゃ

    $ sed -ne "N; 1p" t.txt
    

    篏阪1 茵N 潟潟с潟茵 2 茵腱祉c緇 1 茵潟鐚1p鐚cс鐚阪慎-n 激с潟腓榊潟潟潟阪吟鐚

    $ sed -ne "N; 2p" t.txt
    123
    456
    

    N 潟潟潟茵 2 茵腱祉c1 茵絎鴻帥若潟鴻若鴻篆

    $ sed -ne "N; 3p" t.txt
    

    筝茘違篏阪N 潟潟茯粋昭鴻ュ憜帥若潟鴻若鴻絎鴻阪腟篋潟茵 3 茵鴻帥若泣ゃc宴N 潟潟吟ゃ茯粋昭鴻 4 茵ュ N 潟潟憜帥若潟鴻若鴻阪祉合篋阪 -n 激с潟ф吟э誌腟絮篏阪х篋障

    -n 激с潟翫腓榊潟潟潟阪茵茯粋昭鴻罨∴翫絎茵 N 潟潟帥若潟鴻若鴻絎鴻冴篏с腓榊潟潟潟сс吟

    c若祉祉若帥壕篏帥羆冴障cc若違 1 潟若若帥箴

    001
    括
    傑
    ョ
    002
    
    傑
    延根
    003
    絅
    絅恰
    延根
    

    若帥ュ初綺уャ羂筝劫阪帥

    -n 激с潟ゃ

    N
    N
    N
    s/\(.*\)\n\(.*\)\n\(.*\)\n\(.*\)/\1\n\4\n\3\n\2/
    

    N 潟潟 1 潟若吟鴻帥若潟鴻若鴻腦h昭с壕違c若筝号茵c

    潟若祉若帥ャc違awk у祉罐純

    D 潟潟

    D 潟潟帥若潟鴻若鴻莨若障壕篁ュ鐚壕鐚ゃ

    $ cat t.txt
    123
    456
    

    <ゃ

    $ sed -ne "N;D;p" t.txt
    

    456 阪絎篏阪D 潟潟絎茵九勝鐚違鐚茵祉с違 p 潟潟筝綺絎茵с

    сD 潟潟c絅ャ羞宴

    $ cat t.txt
    <1>
    <2>
    <3>
    

    <ゃ絲障絎薑

    $ sed -ne "1N;=;p;D" t.txt
    2
    <1>
    <2>
    2
    <2>
    3
    <3>
    

    = 潟茵垩茵腓冴с阪1N 1 茵絨祉壕 2 茵ゃс= 潟潟 2 p 潟潟 <1>+壕+<2> 阪絎号

    緇D 潟潟с帥若潟鴻若鴻<1> + 壕ゃ九勝違祉違祉c篁綺 3 茵茯粋昭 = 潟潟綺 2 阪ゃャ p 潟潟泣ゃ D 潟潟羔罧帥若潟鴻若劫絎鴻ゃ障 <2> 茵腓冴宴D 潟潟九勝違祉違茵茯粋昭障鐚ゃ潟茵ゃ潟<潟鐚罩≪с荅宴с

    罨< D 潟潟絎茵帥若潟鴻若鴻腥冴鐚 N 潟潟絎茵莨若障壕帥若潟鴻若剛賢鴻ゃ鐚九勝障違祉D 潟潟ф祉c違ュ茵ゃ障 3 茵茯粋昭障違с罨< = 潟潟 3 阪帥若潟鴻若鴻絎鴻医激 p 潟潟 <3> 阪D 潟潟с違蕋違茵茯粋昭障罨<宴D 潟潟絎茵腟帥若潟鴻若鴻腥冴c障c九勝違祉違茵茯粋昭障鐚ゃ潟茵ゃ潟<潟鐚罩≪с

    筝綺 D 潟潟帥若潟鴻若鴻腥冴九勝違腱祉違ュ茵茯粋昭ュ茵с篏緇c祉鴻腟篋

    若祉鴻若

    sed 帥若潟祉鴻若鴻祉若祉鴻若鴻<ゃ絖篆絖篏帥鴻若鴻с若鴻若鴻絲障潟潟帥若潟祉鴻若鴻絖冴ャ潟潟с炊綏若祉鴻若鴻筝ゃ

    h  帥若潟祉鴻若 --> 若祉鴻若      潟種筝吾鐚
    H  帥若潟祉鴻若 --> 若祉鴻若      潟種菴遵鐚
    g  帥若潟祉鴻若 <-- 若祉鴻若      潟種筝吾鐚
    G  帥若潟祉鴻若 <-- 若祉鴻若      潟種菴遵鐚
    x  若祉鴻若 <--> 帥若潟祉鴻若     篋ゆ
    

    若祉鴻若鴻吾絖冴ャD 潟潟 N 潟潟九勝羌紊с茹cc

    若祉鴻若鴻後箴茵c若帥ц蟹違ュс

    絅域倶域ャ帥

    絅域倶域ャ帥吾臀潟潟篏帥綽х鴻с若荀臀篏帥羂若鴻若鴻篏帥罕сс篏蚊с

    -n 激с潟ゃ

    h
    n
    p
    g
    p
    

    違c純鐚sed c罐純сс茯

       # 障違茵帥若潟鴻若鴻茯粋昭障
    h  # ゃ若鴻若鴻潟若
    n  # -n 激с潟с帥若潟鴻若鴻阪
       # 罨<筝茵帥若潟鴻若鴻茯粋昭
    p  # с帥若潟鴻若鴻阪
    g  # c帥若鴻若鴻絎鴻帥若潟鴻若鴻潟
    p  # 帥若潟鴻若鴻絎鴻阪
    

    茵劫若炊罎膣

    $ cat words.txt
    apple and color
    
    p.10
    dog
    cat
    p.11
    apple
    orange
    p.13
    green
    red
    apple
    

    茯絽潟сapple 茯篏若吾冴ャ

    $ sed -ne "/^p\./h; /apple/ {g; /^$/d; p}" words.txt
    p.11
    p.13
    

    違p. с障茵若祉鴻若鴻篆膊<篁ヤ茵 apple 「膣≪荀ゃc若祉鴻若鴻c絎鴻冴с/^$/d 1 茵帥ゃ apple 若御違絲障若御違腥肴阪蚊с

    罧笈遵壕箴ュ罧笈初腓冴荐埦茹鴻若刻茵祉茵劫ャ潟腓冴茵劫罕c荐сс若祉鴻若鴻篏帥c

    篏茫

    sed 障с筝茵ゅ荳筝с劫帥茵劫罕c若帥絲障御堺с茯臥ュ篏<篆c「膣≪純 ed 祉

    筝菴違 apple 榊憗若吾「膣≪箴 ed

    $ echo '1;/^p\./,$g/apple/?^p\.?p' | /bin/ed -s words.txt
    p.11
    p.13
    

    GNU ed ц罧綽泣篁 ed cャ1 茵 p. с障茵「膣≪茵腟茵障с筝сapple 茵鴻「荀ゃc茵<ゃ劫c p. с障茵「冴荀ゃc茵潟潟с1; 絲乗援医潟茵/^p\./ apple p. с障茵翫緇 p. с障茵阪障蚊с

    ed /罩h頫/ с<ゃ絨丈劫吾「膣≪с祉?罩h頫? с<ゃ劫吾「膣≪с絲乗院<ゃ鴻主<ゃссsed 篌若с

    医ゃ潟<潟

    sed 紊違с違篏帥сhttp://www.gnu.org/software/sed/manual/sed.html#Examples counting xxx 箴ゃ莠cу

    с

    $ echo 199 | sed -f increment.sed
    200
    

    expr с篏帥ゃc篏罐 sed сc帥膂≦茲у潟鐚鐚拷1 罅 9 с 1 莇潟罅 9 鴻 0 臀医 1 吾篁ュ翫1 宴睡筝宴帥cg 9 鴻 0 臀0 с<違筝罅 1 莇潟

    1 宴睡筝宴帥cg 9 鴻 0 臀篏罐冴鎀c腱若鴻若鴻筝荅宴鴻ゃchttp://www.gnu.org/software/sed/manual/sed.html#Increment-a-number 膣泣鴻莠cゃ障1 篏筝cg 9 鴻 _ 臀_ 筝医鐚綵 9 篁ュс鐚 1 紜臀鐚筝篏 9 筝罅 1 ゃ鐚緇y 潟潟篏帥_ 0 臀с鴻若鴻若鴻篏帥綽膀蚊綺

    篁ヤ腱ゃ泣鴻

    #!/bin/sed -f
    /\([0-9]*\)[0-8]$/ {
    s/\([0-9]*\)8$/\19/
    s/\([0-9]*\)7$/\18/
    s/\([0-9]*\)6$/\17/
    s/\([0-9]*\)5$/\16/
    s/\([0-9]*\)4$/\15/
    s/\([0-9]*\)3$/\14/
    s/\([0-9]*\)2$/\13/
    s/\([0-9]*\)1$/\12/
    s/\([0-9]*\)0$/\11/
    q
    }
    /^99*$/ {
    y/9/0/
    s/^/1/
    q
    }
    h
    s/\(.*[^9][^9]*\)99*$/\1/
    s/\([0-9]*\)8$/\19/
    s/\([0-9]*\)7$/\18/
    s/\([0-9]*\)6$/\17/
    s/\([0-9]*\)5$/\16/
    s/\([0-9]*\)4$/\15/
    s/\([0-9]*\)3$/\14/
    s/\([0-9]*\)2$/\13/
    s/\([0-9]*\)1$/\12/
    s/\([0-9]*\)0$/\11/
    x
    s/.*[^9]\(99*\)$/\1/
    y/9/0/
    H
    g
    s/\n//
    

    SedWord 莢ф後ラ鐚sed х鐚鐚с篁腟帥Postscript DSC 潟<潟筝т戎若悟埇

    茵阪

    違鴻10茵---------------水ャ拷10茵障 N 潟潟с帥若潟鴻若鴻莨若с10茵障c冴違緇10茵羣冴

    N
    N
    N
    N
    N
    N
    N
    N
    N
    N
    a\
    --------------------------------------------
    

    罨♂筝茵絖違篏泣篏帥腟罕翫就сс障

    20 茵阪N 20 吾с鴻筝 20 医ф吾羝障c罅紊√c

    #!/bin/sed -f
    :a
    $ b b
    /\([^\n]*\n\)\{19\}/! {
    N
    b a
    }
    :b
    s/$/\
    ---------------/
    p
    

    篁ヤ茯

    #!/bin/sed -nf
    :a                       # 
    $ b b                    # 腟茵 :b 吾c潟帥若潟鴻若鴻絎鴻阪
    /\([^\n]*\n\)\{19\}/! {  # 帥若潟鴻若鴻莨若障壕19ャc
                             # 20茵吟羣с
    N                        # 罨<茵茯粋昭
    b a                      # 鴻鐚:a鐚御祉
    }
    :b                       # 
    s/$/\                    # 3茵絎茵腟茵茯粋昭
    ---------------/         # 帥若潟鴻若鴻篋ゃ莨若障壕<
    

    <c羂ゃN 潟潟壕鐚壕罨<茵帥若潟鴻若鴻菴遵с20茵障c19壕障茯帥鴻19羈20ャсュ腟茵сゆ$ с障茵сс腟茵絎鴻泣ゃ N 潟潟c帥若潟鴻若鴻荅違莨若障鴻羈

    篁腟帥綽sed с鴻鴻鴻a2ps mpage sed с鴻

    筝茵絖違

    筝茵 20 絖壕水ャ鴻翫就 鴻 -n 激с鰹腓冴阪駈絎茵

    鴻с吾鴻c壕障障ゃ障壕菴遵сゃ鴻 Emacs fill nkf -ffmt -w 篏違鐚腥肴篏c篁ュ壕御≫ゃ鐚

    罧綽泣ASCII 絖ユ絖鋇ゃ違э腱篏帥c sed с鐚掩医羞激茵c障

    #!/bin/sed -nf
    :a
    /^.\{,20\}[鐚鐔.,)]*$/! s/^\(.\{20\}\)/\1\
    /
    /[鐚鐔]/ s/\([鐚鐔(][鐚鐔(]*\)\n/\
    \1/
    s/\n\([鐚鐔.,)][鐚鐔]*\)/\1\
    /
    P
    D
    b a
    

    罨<翫就箴

    箴違鴻c
    鴻罧笈純壕
    篋鴻
    筝茵篋絖翫就
    сヨ鴻綣чャ翫
    茵吟筝腟帥綣ч
    翫罨∴菴純冴
    
    

    茯帥拷激茵 20 絖違緇壕ャヨ鴻茵綣ч茵壕篏臀水ャ壕篁ュ阪緇罧絲障膵違菴篁ヤ膰激荀

    01:  #!/bin/sed -nf
    
    02:  :a                            吾c潟
    
    03:  /^.\{,20\}[鐚鐔.,)]*$/! s/^\(.\{20\}\)/\1\
    04:  /
                                       20絖篁ヤ鐚ヨ鴻茵
                                       с域違g20絖緇壕水
                                       腟帥若潟鴻若鴻筝荳
                                      鴻20絖+莨若障壕+罧
    
    05:  /[鐚鐔]/ s/\([鐚鐔(][鐚鐔(]*\)\n/\
    06:  \1/
                                      鴻+菴純冴絖+壕鴻+壕+菴純冴絖臀
                                       茵ャ [鐚鐔( 罨∴茵菴純冴
                                       <帥帥若潟鴻若剛賢莨若障壕 \n 
                                        /[鐚鐔]/  s 潟潟茵絎
                                       膓閫h頫憗潟鴻蕭絨с違羝
                                       20絖篁ヤ茵03 茵у莨若障壕
                                       茵 s 潟潟綵演帥鐚 07 茵鐚
    
    07:  s/\n\([鐚鐔.,)][鐚鐔]*\)/\1\
    08:  /
    
                                     鴻+壕+吟絖鴻+吟絖+壕臀
                                      茵ャ 鐚鐔., 茵吟筝
                                      鐚<帥 05 茵 s 潟潟 s 潟潟祉
                                      潟鴻篏ゃ若 \n 緇 \n 
                                      綏綺紊с綵演帥筝腱篏帥c sed с鐚
    
    
    09:  P                            帥若潟鴻若鴻壕篁ュ阪
                                      莨若障壕違帥若潟鴻若鴻鴻阪
    10:  D                            帥若潟鴻若鴻壕篁ュ
                                      莨若障壕違帥若潟鴻若鴻鴻
                                      腟帥若潟鴻若鴻腥冴11茵絎茵
                                      罨<ュ茵茯с泣ゃ紮
    11:  b a                          鴻祉
    

    罨<茵茯粋昭с茵絲障羆冴綽荀с若鴻若鴻罸莠鴻鴻c鐚鐚鐚/.*a/ /a.*/ 罸鴻紊у潟鴻с絎茖≪眼冴。箴絖

    <

    蕋罨蚊(URL遵)

    茵荀c冴 abc ゃ 荅宴綺紮帥 sed с√с違0abc1abc2abc3 0 ゃabc1abc2abc3 0,1,2,3 篋羝筝純帥若潟с罘純abc c茲茵憗сc帥

    s/.*\(abc.*\)/\1/
    

    茵緇榊憗 abc 翫障сゃ障 * 激с* 莢罨蚊с障馽鴻с 緇 abc 障ч鴻紊掩若吟障с蕋鴻 障sed abc 帥若割札紊茵憗 篁ュ茵憗 冴 abc 羔サ膂≦罧羔cс 違с

    s/abc/\
    &/
    s/.*\n//
    

    臀(2茵)с冴 abc 壕水ャ罨<臀у壕障сゃュ絖壕潟若違篏帥cс

    abc с篋篁ュ abc 罨<阪

    s/abc/\
    &\
    /g
    s/[^\n]*\n\([^\n]*\)\n/\1\
    /g
    s/[^\n]*$//
    

    13茵сabc 帥若潟緇壕水ャ45 茵с[帥若潟絖][壕][帥若潟絖][壕] 筝c「 [帥若潟絖][壕] 紊緇[帥若潟絖] 罧羔サ

    URL 遵

    障URL 茵憗罩h頫憗с<≪潟紊с障若

    ^s\{0,1\}https\{0,1\}:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\/]*
    

    <ユ茯鐚居鴫鐚筝筝莇潟

    abc 綵

    s/s\{0,1\}https\{0,1\}:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\/]*/\
    &\
    /g
    s/[^\n]*\n\([^\n]*\)\n/\1\
    /g
    s/[^\n]*$//
    

    ф篏帥c URL 遵冴激с∽ extracturl 篏

    extracturl (){
    cat $1 | sed -e 's/s\{0,1\}https\{0,1\}:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\/]*/\
    &\
    /g
    s/[^\n]*\n\([^\n]*\)\n/\1\
    /g
    s/[^\n]*$//' | sed -e '/^$/d'
    }
    

    腟腥肴ゃ遺戎

    違篏帥с

    篁ヤ鴻壕潟若茵筝с經翫ャ号綽荀(N 潟潟)絎翫紊c帥吾

    障違c帥若潟鴻若号水ャ拷с0abc1abc2abc3 絖 abc 帥若潟罎膣≪c 0 羔サ

    :a
    /^abc/! s/^.//
    t a
    

    違障 abc с罎祉No с違筝絖羔サ筝筝綺罎祉罎祉腟 Yes с違х篋√篏с腟九障ュ茵憗帥若潟翫篁鴻

    с腟九障ュ茵憗帥若潟違篏帥0abc1abc2abc3 ュ3 ゃ abc 冴

    :s
    /^abc/! s/^.//
    t s
    h
    s/\(abc\).*/\1/p
    g
    s/abc\(.*\)/\1/
    t s
    

    若鴻若鴻茲綵≪c篁ヤ茯

    :s                   
    /^abc/! s/^.//        abc с筝絖
    t s                  筝臀 s鐚鴻鐚祉
                          abc 冴筝絖罧c若
    h                    帥若潟鴻若鴻若鴻若鴻潟
    s/\(abc\).*/\1/p     帥若潟鴻若劫 abc 罧篁ゃ阪
    g                    若鴻若鴻潟若帥若潟鴻若鴻祉
    s/abc\(.*\)/\1/      帥若潟鴻若劫 abc ゃ
    t s                  筝臀 s鐚鴻鐚祉
                         茵帥若潟鴻若劫 abc сс茵腟篋
    

    с鴻<ゃURL 冴鴻綽帥筝 abc URL 茵憗罩h頫憗紊鐚罩h頫憗絎с鐚

    :s
    /^s\{0,1\}https\{0,1\}:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\/]*/! s/^.//
    t s
    h
    s/\(s\{0,1\}https\{0,1\}:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\/]*\).*/\1/p
    g
    s/s\{0,1\}https\{0,1\}:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\/]*\(.*\)/\1/
    t s
    

    篋ゃ sed 潟潟ゃсゃ違c膂≦с鐚荐鐚 sed 祉鴻сURL 緇壕水ャ罨< sed 祉鴻сURL 茵阪с

    cat some.txt | 
    sed -e 's/s\{0,1\}https\{0,1\}:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\/]*/\
    &\
    /g |
    sed -ne '/s\{0,1\}https\{0,1\}:\/\/[a-zA-Z0-9.$,;:&=?!*~@#_()\/]*/ p'
    

    違abccba紊障ュ絖緇壕ゃ壕翫 1 絖壕翫c壕冴障х弘菴

    s/$/\n/
    :a
    s/\([^\n]\)\(\n.*\)/\2\1/
    ta
    s/\n//
    

    sed сc潟

    激с鴻筝с1 001 12 012 123 障障ゃ障 3 罅医綽荀違 0 ゃ

    $ echo 123 | sed -e 's/^[0-9][0-9]$/0&/;t;s/^[0-9]$/00&/'
    

    t 臀≪鴻х舟翫緇臀蕋吟臀≪鴻違綵荅画茹i緇臀違鴻絨障茹iゃ障茲違 s 潟潟吾緇< t 吾違鴻 s 潟潟絎茵c臀у腟篋 2 宴帥医 3 宴帥 s 潟潟臀違1 宴帥医 3 宴帥 s 潟潟絎茵羝с

    <絖 sed 篏帥printf 篏帥c

    $ printf "%03d" 12
    $ 012
    

    A茵茵BC臀

    sed -ne '/A/{x;s/B/C/;x};x;2,$p;${g;p}'
    

    帥若潟鴻若鴻茯粋昭障 n 茵 A 「若鴻若鴻 n-1 茵臀1 茵с /A/{x;s/B/C/;x}; 篏羈n 茵茯粋昭泣ゃс若鴻若鴻 n-1 茵潟c腟茵茯粋昭泣ゃс腟茵茵с若鴻若鴻腱祉腟茵阪(${g;p})

  • 罨≠
    HOME
    
    
    紕膣
    薤藕
    
    茯絖
    沿
    ユ茯
    
    
    遵医