2017-07-25 10 views
0

だから私は "!"私がしました Yugoslavian! Zambia! Zambian! Zomba!sedが単語の先頭に文字を追加するvs終了

Yugoslavian Zambia Zambian Zomba

これは私がようにそれを見てみたいものです:私のplacesCapファイルから私のplacesCapExファイル内のすべての単語の最後に

これは、次のようになりますsed 's/$/\!/' Wordlists/placesCap > Wordlists/placesCapExとされて何が起こるだけsed 's/$/!/' Wordlists/placesCap > Wordlists/placesCapEx

を試してみました、私はこれを実行し、cat Wordlists/placesCapExそれが出力した場合 !ugoslavian !ambia !ambian !omba

私はいくつかの研究を行ってきたし、誰かがそれはUnixのものであることについて何かを述べたが、彼らはあなたのシンプルなsedコマンドは、行末が改行されたテキスト・ファイルを正常に動作する必要があり、詳細に

答えて

1

を行ったことがありませんキャラクター。おそらく、ここに "dos"形式のファイル(改行/改行)があります。

を考えてみましょう:

$ cat zippy 
Zippy 
$ od -c zippy 
0000000 Z i p p y \r \n 
0000007 
$ sed 's/$/!/' zippy 
!ippy 
$ sed 's/$/!/' zippy | od -c 
0000000 Z i p p y \r ! \n 
0000010 

あなたが端末に表示\ rの効果を見ている:「!」印刷し、行の先頭にカーソルを移動し、改行は次の行になります。

あなたの行末文字として\ rをする\ n個のペアの存在を処理するには、試してみてください:

$ sed 's/\r*$/!/' zippy 
Zippy! 

を...鉱山(GNUが4.2のsedとしてあなたのsed名誉\ rを想定し2)はそうです。

+0

これはまさに私があなたに感謝したことです!問題の説明にも感謝します! –

関連する問題