bash - 查找和替换文件中的字符串(macOS bash 脚本)?
问题描述
我有一个日志文件,如下所示:
compile.log
C:\Program Files\File.ext(25,10) : error <ERROR_CODE>: <ERROR_MESSAGE>
C:\Program Files\File.ext(36,13) : error <ERROR_CODE>: <ERROR_MESSAGE>
C:\Program Files\File.ext(41,51) : warning <WARNING>: <WARNING>
C:\Program Files\File.ext(64,55) : error <ERROR_CODE>: <ERROR_MESSAGE>
: information: result 3 error(s), 1 warning(s)
并希望它是这样的:
compile.log
/Users/user/Library/Folders/Program Files/File.ext(25,10) : error <ERROR_CODE>: <ERROR_MESSAGE>
/Users/user/Library/Folders/Program Files/File.ext(36,13) : error <ERROR_CODE>: <ERROR_MESSAGE>
/Users/user/Library/Folders/Program Files/File.ext(41,51) : warning <WARNING>: <WARNING>
/Users/user/Library/Folders/Program Files/File.ext(64,55) : error <ERROR_CODE>: <ERROR_MESSAGE>
: information: result 3 error(s), 1 warning(s)
尝试了许多带有各种错误消息的替代方案sed
。有人可以向我展示一个有效的(macOS 10.14.1)解决方案吗?awk
更新:在我转换compile.log
为 UTF-8之后,一切都按预期工作。似乎是 windows 环境创建了utf-16le
编码的日志。
解决方案
sed 's/C:\\Program Files\\File.ext/\/Users\/user\/Library\/Folders\/Program Files\/File.ext/g' compile.log > compile-replaced.log
推荐阅读
- javascript - html数字输入框根据以下单位标签变化
- python - U-net 训练错误:张量 a(16) 的大小必须与非单维 1 处的张量 b(6) 的大小相匹配
- xaml - Xamarin Forms FontIcon Upper Bitplane XAML 转义字符
- r - 使用图像数据和连续输出进行机器学习
- python-3.x - Google SDM API(Nest 设备)的 Google PubSub 订阅者问题
- r - 限制小数点
- c++ - OpenCV 和 Tesseract 在某些计算机上崩溃
- react-redux - 'handleSubmit' 未定义 no-undef
- amazon-web-services - Aws cli 命令始终在 us-east-1 区域中为容器化 SNS 创建主题
- vba - 如何格式化outlook消息正文