2017-05-25 16 views
1

以下のスクリプトを使用して、改行文字をaから削除します。区切られたファイル。このコマンドはローカルホストで正常に動作しています。しかし、Linuxサーバ上で以下サーバー上で実行中にブランク出力を与えるgawkコマンド

gawk -v RS="[^|]+([|][^|]+){2}\n" '{ gsub("\n", " ", RT); print RT}' 

を実行している間、空白出力を与えることは、私は、ローカルホスト上で
$cat sample.csv
$ No|Name|sal
2|gkdjkh|554
3|fgh
cvb|678
4|tyu|789
5|ghl
を取得しています出力されますtyu|5677
6|yyui
tyui
uui|780

Tarun [email protected] ~
$ gawk -v RS="[^|]+([|][^|]+){2}\n" '{ gsub("\n", " ", RT); print RT}' sample.csv
$ No|Name|sal
2|gkdjkh|554
3|fgh cvb|678
4|tyu|789
5|ghl tyu|5677
6|yyui tyui uui|780

+0

コードをスクリーンショットではなくプレーンテキストとして投稿します。 – Barmar

+0

'gawk'のバージョンが違うかもしれません。 'gawk --version'は何を示していますか? – Barmar

+0

'RT'変数が3.0で追加されました。 – Barmar

答えて

1

RE間隔は、gawk 4.0ではデフォルトになっていました。スクリプトを次のように変更してください:

gawk --re-interval -v RS='[^|]+([|][^|]+){2}\n' '{ gsub(/\n/, " ", RT); print RT}' 

これは両方のgawkバージョンで動作します。あるいは、すべてのマシンで現在のgawkを取得するだけでよい。

+1

ありがとうございます**エドモートン**。これは私の問題を解決しました。 –

関連する問題