次のファイルがあります。
Dj Assad;Laurell
Sweat
--
Steve Aoki;BTS
Waste it on me
--
Oliver Heldens;Shungudzo
Fire in my soul
--
私はそれを次のように変換したいと思います。
Dj-Assad-Laurell-Sweat
--
Steve-Aoki-BTS-Waste-it-on-me
--
Oliver-Heldens-Shungudzo-Fire-in-my-soul
--
私は試した:
sed -e 's/;/ /g; s/ /-/g' file.txt
ただし、改行文字は削除されません。
ベストアンサー1
この試み:
$ <file.txt tr '\n' '\0' | sed 's/\x0--\x0/\n--\n/g' | tr '\0; ' '-'
Dj-Assad-Laurell-Sweat
--
Steve-Aoki-BTS-Waste-it-on-me
--
Oliver-Heldens-Shungudzo-Fire-in-my-soul
--
<file.txt tr '\n' '\0'
すべての\n
(改行文字)を\0
(NULL)文字に変換| sed 's/\x0--\x0/\n--\n/g'
\0--\0
に変換\n--\n
| tr '\0; ' '-'
残りのNULL、セミコロン、および空白文字を次に変換します。-