PowerShell按文件1中的列排序文件2

时间:2014-06-23 13:44:31

标签: powershell

我有2个txt文件。

File 1                        File2
sql00003 test1.txt            test1.txt 
sql00002 test3.txt            test3.txt 
sql00001 test5.txt            test5.txt

文件1需要按列1排序,然后file2需要与文件1

的顺序相同
(sorted by col2 of file1)
test5.txt
test3.txt
test1.txt

这可能与Powershell有关吗?

1 个答案:

答案 0 :(得分:0)

问题陈述有点奇怪,就像文件内容或排序规则中缺少一些关键信息一样。

据我了解这个问题,为什么还要麻烦排序第二个文件?根据您的数据,它包含第一个文件内容的子集。只需在排序后提取第一个文件的第二列,

# Declare headers so file looks like CSV
$f = Import-Csv file1.txt -Delimiter " " -Header sql, file
# CSV is structured, so it can be sorted by column
$sorted = $f | sort -Property sql
# Extract only the file column and add its content to new file  
$sorted | select -ExpandProperty file | set-content file1b.txt

# Output    
cat file1b.txt
test5.txt
test3.txt
test1.txt

如果这不是你想要的,请在问题中添加更多内容。