V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
1054850490

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

  •  
  •   1054850490 · Feb 18, 2023 · 2888 views
    This topic created in 1168 days ago, the information mentioned may be changed or developed.
    以下命令会导出一个 Windows CRLF 格式的 txt ,但是我想要他输出 unix lf ,如何才能改变?


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

    ```
    8 replies    2023-02-19 06:47:37 +08:00
    fantasynoff
        1
    fantasynoff  
       Feb 18, 2023
    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
        2
    germain  
       Feb 18, 2023 via iPhone
    (Get-Content -Path "file.txt" -Raw) -replace "\r\n", "`n" | Set-Content -Path "file.txt"
    1054850490
        3
    1054850490  
    OP
       Feb 18, 2023
    @fantasynoff 这个好像不对劲,需要一个文本做缓冲区的做法有点麻烦,我想要直接输出
    hxy100
        6
    hxy100  
       Feb 18, 2023
    使用管道把\r\n 替换成\n 即可,也可以安装 Cygwin ,有 dos2unix 命令可以实现此操作
    1054850490
        7
    1054850490  
    OP
       Feb 18, 2023
    @hxy100 这样好像更复杂了,话说他不能直接输出 LF 格式吗
    ALLROBOT
        8
    ALLROBOT  
       Feb 19, 2023
    @1054850490
    chatgpt:
    我:powershell 自定义脚本控制输出的编码格式,有哪些步骤?清理会话
    AI:
    1. 使用 Set-Content 命令来设置文件的编码格式:Set-Content 命令可以指定一个特定的字符集,并将其应用到文本文件中。这样就能够保证 PowerShell 脚本在写入时总是使用正确的字符集。

    2. 使用 Out-File 命令来输出不同的字符集:Out-File 命令也可以控制输出数据时数据所采用的字符集。你可以选择 UTF8 、Unicode 或者 ASCII 等不同的字符集来生成相应
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1096 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 17:36 · PVG 01:36 · LAX 10:36 · JFK 13:36
    ♥ Do have faith in what you're doing.