如何让 powershell 输出的 txt 日志为 unix lf 格式

2023-02-18 05:24:17 +08:00
 1054850490
以下命令会导出一个 Windows CRLF 格式的 txt ,但是我想要他输出 unix lf ,如何才能改变?


```
*>&1 | ForEach-Object {if($_ -notin (Get-Content 888.txt)){Add-Content 888.txt $_ -Encoding utf8; $_}}

```
1751 次点击
所在节点    PowerShell
8 条回复
fantasynoff
2023-02-18 05:27:06 +08:00
chatgpt 是这么说的

===

在 PowerShell 中,可以使用以下命令将输出的文本文件转换为 UNIX 的 LF 格式:

Get-Content .\logfile.txt | Set-Content -Encoding Unix .\logfile_unix.txt

这个命令会将 logfile.txt 文件中的内容读取出来,然后将其转换为 UNIX 的 LF 格式,并将结果写入到 logfile_unix.txt 文件中。这样,输出的日志就是 UNIX 的 LF 格式了。
germain
2023-02-18 05:28:49 +08:00
(Get-Content -Path "file.txt" -Raw) -replace "\r\n", "`n" | Set-Content -Path "file.txt"
1054850490
2023-02-18 05:35:16 +08:00
@fantasynoff 这个好像不对劲,需要一个文本做缓冲区的做法有点麻烦,我想要直接输出
ladypxy
2023-02-18 08:11:04 +08:00
SpecterShell
2023-02-18 12:56:15 +08:00
hxy100
2023-02-18 13:21:58 +08:00
使用管道把\r\n 替换成\n 即可,也可以安装 Cygwin ,有 dos2unix 命令可以实现此操作
1054850490
2023-02-18 22:40:13 +08:00
@hxy100 这样好像更复杂了,话说他不能直接输出 LF 格式吗
ALLROBOT
2023-02-19 06:47:37 +08:00
@1054850490
chatgpt:
我:powershell 自定义脚本控制输出的编码格式,有哪些步骤?清理会话
AI:
1. 使用 Set-Content 命令来设置文件的编码格式:Set-Content 命令可以指定一个特定的字符集,并将其应用到文本文件中。这样就能够保证 PowerShell 脚本在写入时总是使用正确的字符集。

2. 使用 Out-File 命令来输出不同的字符集:Out-File 命令也可以控制输出数据时数据所采用的字符集。你可以选择 UTF8 、Unicode 或者 ASCII 等不同的字符集来生成相应

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/917100

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX