看完了《Learn Windows PowerShell in a Month of Lunches Third Edition》,总得做些东西才能巩固一下。
好巧不巧,今天正好碰到一个问题,寻思着用PowerShell来解决,还真给解决了。
警示
使用前请备份你的文件!!!
使用下面的方法,我的一个文件有几个中文字乱码了,推测可能和写入时的编码有关。
问题描述
咱有如下这个文件,但是这个单词顺序太乱了,我们想要按照字典顺序给它排一下。(表述能力有待提高..感觉说的不太清楚)
解决过程
我们来分析一下,大致要涉及到如下问题:
1. 如何读取文件
2. 如何对文件按行进行排序
3. 如何覆盖文件内容
ok,问题分析到这。那么怎么解决呢,有大致如下两步:
1. 回忆自己处理过有没有类似的问题。前两个问题感觉书上都有提到过,但是仔细想想感觉啥也不记得。不着急,咱们还有第二步。
2. 搜索引擎
搜索完毕后,我们得到问题的解决方案如下:
1. Get-Content
2. Sort-Object
3. Set-Content
有了这些命令,那么怎么用呢?
我们的CHAPTER 3 Using the help system 可不是白学的。我们这次使用其中的 Help
命令的 -ShowWindow
参数来查看每个命令的帮助。为啥用这个呢?因为是中文的…看得快。
解决方案
经过仔细查看每个命令的使用帮助后,我们可以很简单的写出这个问题的方法(记得备份哦):
Get-Content "the Decorator Pattern.txt" | Sort-Object | Set-Content "the Decorator Pattern.txt"
当然,在使用该命令前,要移动到该文件所在文件夹。或者给参数为绝对路径。
只需要一行我们就完成了任务,有没有觉得很简单呢。
问题扩展
- 如何对文件夹下的所有文件作出同样处理?
- 对于http://www.bathome.net/thread-15889-1-1.html这篇文章提到的问题,我们该怎么解决呢?可以参考https://blog.csdn.net/PowerShell/article/details/1725917哦
参考资料
http://www.cnblogs.com/fuhj02/archive/2010/12/06/1897379.html