나는 창 명령 ICACLS C의 결과 인 다음과 같습니다 파일이 : \ 경로를/t> 경우 output.txtAWK는 이전 라인에 따라 라인에 빈 공간을 대체 할 나오지
C:\temp\2\ok Everyone:(I)(RX)
BUILTIN\Administrators:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
BUILTIN\Users:(I)(RX)
NT AUTHORITY\Authenticated Users:(I)(M)
C:\temp\2\ok.txt Everyone:(I)(RX)
BUILTIN\Administrators:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
BUILTIN\Users:(I)(RX)
NT AUTHORITY\Authenticated Users:(I)(M)
C:\temp\2\ok1.txt Everyone:(I)(RX)
BUILTIN\Administrators:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
BUILTIN\Users:(I)(RX)
NT AUTHORITY\Authenticated Users:(I)(M)
C:\temp\2\ok2.txt Everyone:(I)(RX)
BUILTIN\Administrators:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
BUILTIN\Users:(I)(RX)
NT AUTHORITY\Authenticated Users:(I)(M)
C:\temp\2\test1.ps1 Everyone:(I)(RX)
BUILTIN\Administrators:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
BUILTIN\Users:(I)(RX)
NT AUTHORITY\Authenticated Users:(I)(M)
빈 공간이 아닌 빈 공간을 채울 필요가있다. 좋은 점은 공백은 항상 앞의 줄을 기준으로 한 문자 수와 같습니다.
원하는 출력
나는이 같은 노력C:\temp\2\ok Everyone:(I)(RX)
C:\temp\2\ok BUILTIN\Administrators:(I)(F)
C:\temp\2\ok NT AUTHORITY\SYSTEM:(I)(F)
C:\temp\2\ok BUILTIN\Users:(I)(RX)
C:\temp\2\ok NT AUTHORITY\Authenticated Users:(I)(M)
C:\temp\2\ok.txt Everyone:(I)(RX)
C:\temp\2\ok.txt BUILTIN\Administrators:(I)(F)
C:\temp\2\ok.txt NT AUTHORITY\SYSTEM:(I)(F)
C:\temp\2\ok.txt BUILTIN\Users:(I)(RX)
C:\temp\2\ok.txt NT AUTHORITY\Authenticated Users:(I)(M)
C:\temp\2\ok1.txt Everyone:(I)(RX)
C:\temp\2\ok1.txt BUILTIN\Administrators:(I)(F)
C:\temp\2\ok1.txt NT AUTHORITY\SYSTEM:(I)(F)
C:\temp\2\ok1.txt BUILTIN\Users:(I)(RX)
C:\temp\2\ok1.txt NT AUTHORITY\Authenticated Users:(I)(M)
C:\temp\2\ok2.txt Everyone:(I)(RX)
C:\temp\2\ok2.txt BUILTIN\Administrators:(I)(F)
C:\temp\2\ok2.txt NT AUTHORITY\SYSTEM:(I)(F)
C:\temp\2\ok2.txt BUILTIN\Users:(I)(RX)
C:\temp\2\ok2.txt NT AUTHORITY\Authenticated Users:(I)(M)
C:\temp\2\test1.ps1 Everyone:(I)(RX)
C:\temp\2\test1.ps1 BUILTIN\Administrators:(I)(F)
C:\temp\2\test1.ps1 NT AUTHORITY\SYSTEM:(I)(F)
C:\temp\2\test1.ps1 BUILTIN\Users:(I)(RX)
C:\temp\2\test1.ps1 NT AUTHORITY\Authenticated Users:(I)(M)
: 두 개의 파일을 구하는 함께 붙여 넣기하기 위해 를하지만 문제는 예상치 못한 공간의 alwats 내가 윈도우 AWK를 사용하고 있음을 나오지도하고 (순서를 나사이다 나는 따옴표)
awk "{line=$2} {print NF?line:\"\"}" OUTPUT
awk "{line=$1} {print NF?line:\"\"}" OUTPUT
awk -F":" "{line=$2} {print NF?line:\"\"}" OUTPUT
awk -F":" "{line=$1} {print NF?line:\"\"}" OUTPUT
를 사용하는 이유는에 따라 다른 생각
는 "첫 번째"라인이 실제로에서 왼쪽 정당화 다른 방법으로 AWK 해보자 파일 또는 공간이 있습니까? – ghoti
그 공백이 실수로 추가되었습니다. 실제로 공백이 없습니다. – Eduardo
@Eduardo : 시작 줄에 항상'Everyone : (I) (RX)'이 있습니까? – batMan