在 Windows 中替换 sed 和 'open'

在 Windows 中替换 sed 和 'open'

我有以下 bash 脚本,它接受一个文本文件并在默认互联网浏览器中打开一个选项卡,每行包含一个 google 查询(经过一些清理后)。我想制作一个可以在 Windows 上运行的此脚本版本。

我的问题是我应该看什么。我知道 Windows 没有 bash,也没有 sed。在 Windows 上最简单的方法是什么?

#!/bin/bash         

URL="https://www.google.pt/?sesinv=1#output=search&q="
TMP=tmp.txt

if [ "$(uname)" == "Linux" ];then
    alias open=xdg-open
fi

sed -e '/^+++/d' -e '/^---/d' -e '/^@@/d' -e 's/^[ +-]*[0-9]* //g' $1 > $TMP

while read line         
do  
    echo "Opening $line"
    open -g "$URL$line"
done <$TMP

rm -f $TMP

答案1

如果您想使用内置解决方案,我会使用 Powershell。它可以打开默认浏览器并执行一些类似 sed 的功能。

答案2

要使用 Windows 命令行从文本文件打开一组 URL:

for /F "tokens=*" %a in (textFile.txt) do explorer.exe %a

在批处理脚本中:

for /F "tokens=*" %%a in (%1) do explorer.exe %%a

(%1 是第一个命令行参数。)

它不会带您完成所有操作,但应该足以让您开始。explorer.exe 在默认程序中打开传递给它的任何文件/文件夹。

这将搜索 txt 文件中的所有行,但尚未经过正确测试。

for /F "tokens=*" %%A in (%1) do explorer.exe "http://www.google.com/?sesinv=1#output=search&q=%%A"

相关内容