我想拆就空间管的每一行,然后打印上自己的行每个令牌。
我意识到,我可以用这样的结果:
(cat someFileInsteadOfAPipe).split(" ")
但我想更多的灵活性。 我希望能够做到这与每个令牌什么。 (我用AWK在Unix上,而我试图让相同的功能。)
我目前有:
echo "Once upon a time there were three little pigs" | %{$data = $_.split(" "); Write-Output "$($data[0]) and whatever I want to output with it"}
其中,很明显,只打印第一令牌。 有没有办法让我换了每一个令牌,打印每个反过来?
另外, %{$data = $_.split(" "); Write-Output "$($data[0])"}
%{$data = $_.split(" "); Write-Output "$($data[0])"}
部分我从一个博客了,我真不明白我在做什么或语法是如何工作的。
我想谷歌,但我不知道该怎么称呼它。 请帮我出一两句话给谷歌,或链接给我解释一下%
,所有的$
符号做,以及开放的意义和右括号。
我知道我不能实际使用(cat someFileInsteadOfAPipe).split(" ")
因为文件(或最好进入管线)包含一个以上的线。
对于一些问题的答案:
如果您使用的Select-String
过滤符号化前的输出,你需要记住的是,输出Select-String
命令不是字符串的集合,而是集合MatchInfo
对象。 为了得到你要拆分的字符串,你需要访问Line
的财产MatchInfo
对象,就像这样:
cat someFile | Select-String "keywordFoo" | %{$_.Line.Split(" ")}