1

次のようなファイルを cat しようとしています。

    http://www.site1.com/d23bdbd0fbc517d34, r N 4
    https://www.site2.com/file/d23bdbd0fbc517d34, X
    http://www.site3.com/file/d23bdbd0fbc517d34
    https://www.site4.edu/site/d23bdbd0fbc517d34

この種の出力を得るには、sed を使用する必要があります。

    www.site1.com
    www.site2.com
    www.site3.com
    www.site4.edu

ヘルプ!私はそれを完全に正しく機能させることはできません。技術的には、Windows 用の sed.exe を使用していますが、おそらく非常に似ています。

4

2 に答える 2

2
$ cat file.txt
    http://www.site1.com/d23bdbd0fbc517d34, r N 4
    https://www.site2.com/file/d23bdbd0fbc517d34, X
    http://www.site3.com/file/d23bdbd0fbc517d34
    https://www.site4.edu/site/d23bdbd0fbc517d34
$ sed -r 's@.*//([^ /]+).*@\1@g' file.txt
www.site1.com
www.site2.com
www.site3.com
www.site4.edu

-rスイッチがない場合:

sed 's@.*//\([^ /]\+\)[/ ].*@\1@g' file.txt

さらに、 IIRC では、単一引用符の代わりに二重引用符を使用します。

かもね :

sed.exe "s@.*//\([^ /]\+\)[/ ].*@\1@g" file.txt
于 2012-11-08T01:28:31.790 に答える
1

別のバリアントは次のとおりです。

sed '\#.*www[.]\([^/]*\).*# s::\1:'

表示されます

site1.com
site2.com
site3.com
site4.edu

でテスト済み

@ThinkPad-T420:~$ sed --version 
GNU sed version 4.2.1
于 2012-11-08T01:54:37.060 に答える