![](/img/trans.png)
[英]RegEx to remove number + space from cells with carriage-return data VBA
[英]Perl oneliner corrupts file in Windows (carriage-return related issue)
我有一個PostScript文件,我要在其中更改一行:
%%標題:我的abc
至
%%標題:您的定義
以下Perl oneliner在Ubuntu中達到了目的:
perl -p -ifoo.bak -e "s/%%Title:.+\n/%%Title: your def\n/" file.ps
但會損壞Windows中的文件(看起來它在每個“行”中都添加了\\ r \\ n或類似內容)。
我嘗試了另一種方法,但在Windows中仍然沒有運氣:
perl -Mopen=OUT,:bytes -p -ifoo.bak -e "s/%%Title:.+\n/%%Title: your def\n/" file.ps
發生了什么事,我該如何解決這個問題? 謝謝。
從樣式和替換中刪除換行符:
perl -p -ifoo.bak -e "s/%%Title:.+$/%%Title: your def/" file.ps
或捕獲並用於替換:
perl -p -ifoo.bak -e "s/%%Title:.+(\R)/%%Title: your def$1/" file.ps
\\R
代表任何換行符。
如果要將實際的換行符轉換為unix換行符(即\\n
):
perl -p -ifoo.bak -e "s/%%Title:.+\R/%%Title: your def\n/" file.ps
在Windows行尾是\\ r \\ n而不是\\ n,就像在UNIX中一樣
perl -p -ifoo.bak -e "s/%%Title:.+\r\n/%%Title: your def\r\n/" file.ps
可能有效
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.