Page 1 of 1
SORT /UNIQUE /UNI_OUTPUT...
Posted: 25 Jan 2021 04:30
by miskox
Here
viewtopic.php?p=63727#p63727 Dave mentions /UNIQUE qualifier with the SORT command.
I checked sort.exe. It contains (marked in green are those already displayed with help).
Code: Select all
case_sensitive
[color=#00BF00]locale
memory
output
reverse
record_maximum
temporary [/color]
uni_output
unique
TEMP
path
srt
Current qualifiers (displayed as help):
Code: Select all
/+n
/L[OCALE] locale
/M[EMORY] kilobytes
/REC[ORD_MAXIMUM]
/R[EVERSE]
/T[EMPORARY]
/O[UTPUT]
So. I did a test: SORT /UNI_OUTPUT: output file is in Unicode. So there are more:
- TEMP: this might be the new location for the temporary files? It works: /TEMP . probably for current folder
- PATH: ?
- SRT and PATH: invalid switch.
Saso
Re: SORT /UNIQUE /UNI_OUTPUT...
Posted: 25 Jan 2021 06:35
by jfl
I think that TEMP and path are not part of the supported options.
/TEMP worked for you as an abbreviation of the documented /TEMPORARY option.
Also note that contrary to the other options before it, it is part of a longer string "TEMP path":
Code: Select all
C:\Windows\System32>strings sort.exe | ag "[a-z]{4,}"
[Uninteresting garbage]
case_sensitive
locale
memory
output
reverse
record_maximum
temporary
uni_output
unique
TEMP path
<unknown>
[Lots of function names, etc]
C:\Windows\System32>ag -a "TEMP\x20path" sort.exe
Binary file sort.exe matches.
C:\Windows\System32>
So beyond uni_output and unique, the only other undocumented option would be /CASE_SENSITIVE.
I tested it. It is accepted as switch, complete or abbreviated, but does not seem to have any effect:
Code: Select all
C:\Windows\System32>dir /b \ | sort /CASE_SENSITIVE
.pytest_cache
_Backup_Dirs.txt
_Backup_Files.txt
Data
DDA
Downloads
hello.py
inetpub
Intel
JFL
MASM
Mnt
MSVC
old1
PerfLogs
Program Files
Program Files (x86)
Python27amd64
SWSetup
Symbols
Temp
Users
usr
Windows
C:\Windows\System32>
Re: SORT /UNIQUE /UNI_OUTPUT...
Posted: 25 Jan 2021 07:17
by dbenham
jfl wrote: ↑25 Jan 2021 06:35
So beyond uni_output and unique, the only other undocumented option would be /CASE_SENSITIVE.
I tested it. It is accepted as switch, complete or abbreviated, but does not seem to have any effect:
Sure it has an effect - you just need to understand the collation sequence, and have input that is able to demonstrate the effect.
Just looking at English letters, the /C option sorts primarily by the standard alpha sequence, and in the case of a tie, it sorts lowercase before uppercase.
test.txt
Difference without/with /C
Code: Select all
C:\test>sort test.txt
abc
ABC
XYZ
xyz
C:\test>sort /c test.txt
abc
ABC
xyz
XYZ
The difference is even more obvious when you add the /UNIQ option
Code: Select all
C:\test>sort /uniq test.txt
abc
XYZ
C:\test>sort /c /uniq test.txt
abc
ABC
xyz
XYZ
Dave Benham
Re: SORT /UNIQUE /UNI_OUTPUT...
Posted: 25 Jan 2021 08:10
by jfl
Ah, OK!
I expected it would output strings like case-dependent sorts in Unix:
I just checked /CASE_SENSITIVE is present in XP and later versions of Windows, but not in Windows 98. Funny I never heard of it.
Re: SORT /UNIQUE /UNI_OUTPUT...
Posted: 26 Jan 2021 01:59
by miskox
jfl wrote: ↑25 Jan 2021 06:35
So beyond uni_output and unique, the only other undocumented option would be /CASE_SENSITIVE.
I tested it. It is accepted as switch, complete or abbreviated, but does not seem to have any effect:
I missed that (CASE_SENSITIVE) in my original post.
Thanks.
Saso