我尝试在PowerShell中执行以下语句
svn info filename | grep '^Last Changed Date:'| sed -e 's/^Last Changed Date: //'
我已经试过了:
svn info filename | Select-String '^Last Changed Date:'
我预计产量低于
Thursday, December 20, 2018 4:50:40 AM
js4nwp541#
使用-match和-replaceoperators:
-match
-replace
(svn info filename) -match '^Last Changed Date:' -replace '^Last Changed Date: '
11dmarpk2#
要删除前导标签,可以使用带有RegEx模式的捕获组。
svn info filename | Select-String '^Last Changed Date: (.*)$' | ForEach-Object{$_.Matches.Groups[1].Value}
或采用Ansgars方法而不匹配(并重复标签)
(svn info filename) -replace "(?sm).*?^Last Changed Date: (.*?)$.*","`$1"
gijlo24d3#
这可能会回避这个问题,但是你可以直接从现有的git安装中导入sed和grep-语句,在powershell中使用它们。如果安装了C:\Program Files\Git\usr\bin,它包含了你所需要的语句,比如sed.exe。你可以为这些语句设置一个别名,并按照你习惯的方式使用它们:
sed
grep
C:\Program Files\Git\usr\bin
sed.exe
Set-Alias -Name sed -Value C:\"Program Files"\Git\usr\bin\sed.exe
您可以在配置文件中定义这些别名以保留它们。创建一个名为C:\Users\*UserName*\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1的文件,并通过调用以下命令以管理员权限在powershell中执行脚本:
C:\Users\*UserName*\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
set-executionpolicy remotesigned
3条答案
按热度按时间js4nwp541#
使用
-match
和-replace
operators:11dmarpk2#
要删除前导标签,可以使用带有RegEx模式的捕获组。
或采用Ansgars方法而不匹配(并重复标签)
gijlo24d3#
这可能会回避这个问题,但是你可以直接从现有的git安装中导入
sed
和grep
-语句,在powershell中使用它们。如果安装了
C:\Program Files\Git\usr\bin
,它包含了你所需要的语句,比如sed.exe
。你可以为这些语句设置一个别名,并按照你习惯的方式使用它们:您可以在配置文件中定义这些别名以保留它们。创建一个名为
C:\Users\*UserName*\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
的文件,并通过调用以下命令以管理员权限在powershell中执行脚本: