0

私がしたのは、ファイルへの ls だけで、次に単純な awk 印刷を実行しました。私は PowerShell と Awk の両方を初めて使用しますが、出力は明らかに期待どおりではありません。誰でもこれを説明できますか?ファイルの形式と関係がありますか?

PS C:\Documents and Settings\lmoser\My Documents\Test> awk '{ print }' lsfiles.txt > awkedlsfile.txt
PS C:\Documents and Settings\lmoser\My Documents\Test> cat lsfiles.txt
----                -------------     ------ ----
-a---         10/8/2009  10:32 AM          0 file1.txt
-a---         10/8/2009  10:32 AM          0 file2.txt
-a---         10/8/2009  10:32 AM          0 file3.txt
-a---         10/8/2009  10:32 AM          0 file4.txt
-a---         10/8/2009  10:32 AM          0 file5.txt
-a---         10/8/2009  10:32 AM          0 file6.txt
-a---         10/8/2009  10:32 AM       2164 lsfiles.txt
PS C:\Documents and Settings\lmoser\My Documents\Test> cat awkedlsfile.txt
----                -------------     ------ ----
??????         ? ????  ?  ? ??? ??            ?????????
 ??
-a---         10/8/2009  10:32 AM          0 file2.txt
??????         ? ????  ?  ? ??? ??            ?????????
 ??
-a---         10/8/2009  10:32 AM          0 file4.txt
??????         ? ????  ?  ? ??? ??            ?????????
 ??
-a---         10/8/2009  10:32 AM          0 file6.txt
??????         ? ????  ?  ? ??? ??       ???? ???????????
 ??
?
4

1 に答える 1

2

あなたのawkユニコード対応ですか?私はそうは思わない。その場合は、これを試してください。

awk '{ print }' lsfiles.txt | Out-File awkedlsfile.txt -encoding ASCII

デフォルトでは、PowerShellはUnicode形式を使用してファイルにリダイレクトします。基本的に「>」を使用することは、「| Out-File {path}-EncodingUnicode」のショートカットにすぎません。

于 2009-10-08T16:20:40.227 に答える