如何将 cut 和 sed 命令应用于 Powershell?
Posted
技术标签:
【中文标题】如何将 cut 和 sed 命令应用于 Powershell?【英文标题】:How to apply cut and sed commands to Powershell? 【发布时间】:2022-01-10 01:17:53 【问题描述】:我有一个 bash 脚本,它从 2 个单独的文件(一个用于用户数据,另一个用于默认文本)中检索数据并输出一个通函:
if [ $# -eq 0 ]
then
echo "Please enter two parameters"
exit
elif [ $# -eq 1 ]
then
echo "Please enter one more parameter"
exit
elif [ $# -gt 2 ]
then
echo "Please enter ONLY two parameters"
exit
fi
while read line
do
iN=`echo $line | cut -f1 -d";"`
iA=`echo $line | cut -f2 -d";"`
iD=`echo $line | cut -f3 -d";"`
cat $2|sed "s/<NAME>/$iN/g" | sed "s/<ADDRESS>/iA/g" | sed "s/<DATE>/$iD/g"
done < data
它需要转换为 PS 脚本,这是我目前可以做的:
if ($# -eq 0)
Write-Output "Please enter two parameters"
elseif ($# -eq 1 )
Write-Output "Please enter one more parameter"
elseif ($# -gt 2)
Write-Output "Please enter ONLY two parameters"
foreach($line in Get-Content .\data.txt)
我无法在 Internet 上找到任何与 sed
或 cut
等效的命令,因此我将不胜感激。
【问题讨论】:
查看Read-Host
以获取用户输入。然后看看解析输入......或者[更好]单独询问每个输入,这样就不需要计算东西了。 [咧嘴]
你需要在这里使用split
和replace
。
【参考方案1】:
您可以使用已转换所有这些命令的 Unix Utils for Windows 套件,而且我们在生产环境中已经使用它们很长时间了。
https://sourceforge.net/projects/unxutils/
其中大部分都有:sed、cut、cat 等。
【讨论】:
以上是关于如何将 cut 和 sed 命令应用于 Powershell?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过命令行实用程序操作文本:grep、cut、awk、sed 或 BBEdit(Grep 查找选项)