【问题标题】:Replacing GREP and AWK in Windows for Powershell在 Windows 中为 Powershell 替换 GREP 和 AWK
【发布时间】:2021-03-03 21:13:46
【问题描述】:

我有一个名为 ffmpeg 的小视频剪辑库的 linux 命令。

我可以在 Linux 中使用以下命令:

ffmpeg -hide_banner -vn -i $1 -af "silencedetect=n=${THRESH}dB:d=${DURATION}" -f null - 2>&1 | grep "silence_end" | awk '{print $5 " " $8}' > silence.txt

现在我需要通过 Powershell 或 CMD 在 Windows 机器上执行完全相同的 Kommand。

我正在努力替换 grep 和 awk 等 linux 特定术语以及它们使用的表达式。

有人可以给我一个合适的替代品吗?

【问题讨论】:

  • 另一种可能性是在您的 Windows 系统上安装 WSL。可能矫枉过正,但仍然是一个选择。
  • 安装 WSL 是我现在实际使用它所做的,因为可以在 Windows 中使用 Linux shell 和一般的 powershell 很方便。但我也对原生 Windows 解决方案感兴趣。但无论如何,谢谢你。

标签: linux windows powershell awk grep


【解决方案1】:

两者的替换都是Select-Stringgrep 是一个简单的模式匹配 (-Pattern -SimpleMatch)。 awk 部分仅选择字段 5 和 8。您可以为此使用正则表达式模式,只需查看生成的格式即可。 PowerShell 将$Matches[] 设置为各种正则表达式匹配; [0] 是整个匹配项,而其他条目是分组的子匹配项。

【讨论】:

    猜你喜欢
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多