我上一個項目,需要一個分隔設置表單數據的工作:在分隔文本文件更換空字段與虛擬值
field1~field2~field3~.....~fieldn
有空字段是一種可能性,所以
field1~~~field4~~field6
是完全可以接受的。
該文件被翻譯使用內部翻譯程序,留下一點點不理想。具體來說,它不能很好地處理空的域。我的解決方案是在那裏粘貼一些虛擬值,比如空格或@符號。我已經試過:
sed -r 's/~/~ ~/g'
和
awk '{gsub(/\~\~/,"~ ~")}; 1' file > file.SPACE
但在更換多個領域這兩個秋天短。所以,如果我輸入
field1~field2~~~field3
它會輸出:
field1~field2~ ~~field3
我想只是劇本,如果我可以,因爲我無法改變譯者的代碼。我可以更改創建分隔文件的程序中的代碼,但我寧願不要。是否有一些解決方法,或者正在爲此提供一個表達式,這只是常規語言中固有限制之一?
編輯:哇感謝大家的快速反應,所有的解決方案工作,所以我upvoted所有的人。由於解釋,我想我會接受Janito的。
爲什麼downvote?