欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PowerShell读取文件内容、替换文件内容、读取限定行的例子

程序员文章站 2023-12-23 23:49:57
我只能说,使用powershell来读取文本文件实在是一件太简单的事情了。 get-content,获取指定位置的项的内容。 语法:get-content [-path...

我只能说,使用powershell来读取文本文件实在是一件太简单的事情了。

get-content,获取指定位置的项的内容。

语法:get-content [-path] <文件路径>
[-path]由方括号引起,表示可以写,也可以不写;不写则默认后面是文件路径,写了就指名道姓的说后面是文件路径。

直接运行这样一个命令,powershell将会把文件的内容输出到控制台上,如果你是想看看文件的内容,那这样做就perfect!

但有时候,你想玩点高难度的运作——想把文件翻开来对里面的内容进行修改,那后面你可以用管道来把它传出去,或者直接把它赋值给一个变量。举例如下:

复制代码 代码如下:
$file = get-content "d:\1.txt"

get-content "d:\1.txt" | %{write-host $_.replace("日","太阳")} #这样就可以实现把d:\1.txt的内容,逐一输出,并把“日”字,替换为太阳。

获取文件的前n行,这也是一个有趣的事。可以用一句powershell来搞定。举例如下:

复制代码 代码如下:

get-content d:\1.txt -totalcount 100 | set-content top100.txt

说明:这里的set-content top100.txt是把前面一个语句的结果,写一个新的文件——top100.txt

如果这个时候,你想获取文件的第100行,你会不会想到去做一个很复杂的循环?如果是,那说明你有很好的编程素养。但是powershell告诉你不用如此麻烦。举例如下:

复制代码 代码如下:
(get-content d:\1.txt -totalcount 100)[-1]

说明:啥!你看到了啥?!如果你简单的看()[-1],那是不是像数组呢?-1表示最后一个数组元素,那就表示前100行的最后一行,那是不是第100行呢?!

最后要说一下,这个命令返回的是一个对象数组,可以用foreach-object(别名是%)去遍历它。非常方便,前面你应该已经看到“太阳”的例子了!

上一篇:

下一篇: