Linux 명령 의 dos2unix
4489 단어 dos2unix
cat - A 는 파일 줄 바 꿈 문자 인 코딩 을 표시 할 수 있 습 니 다. windows 줄 바 꿈 문자 ^ M, Liux 줄 바 꿈 자 는 $입 니 다.
Liux 에서 windows 줄 바 꿈 자 를 삭제 합 니 다 ^ M (즉 \ r) 문 자 를 삭제 해 야 합 니 다.
cat a.txt | tr -d "^M" > b.txt
dos2unix
for i in `ls */10*/user.properties`;do echo "-- $i --";cat $i;done
for i in */*/webip.properties;do echo $i;cat $i;echo;done
find -name '.DS_Store'|xargs rm -f
find -name '.svn' -type d |xargs rm -rf
find -name '._.DS_Store' -type f |xargs rm -rf
Linux 명령 의 dos2unix - DOS 형식 텍스트 파일 을 UNIX 형식 으로 변환 합 니 다.
용도 설명
dos2unix 명령 은 DOS 형식의 텍스트 파일 을 UNIX 형식 으로 변환 하 는 데 사 용 됩 니 다 (DOS / MAC to UNIX text file format converter).DOS 의 텍스트 파일 은 \ \ r 를 줄 끊 기 표지 로 하고 16 진수 로 표시 하면 0D 0A 입 니 다.유 닉 스 의 텍스트 파일 은 인 터 럽 트 표지 로 16 진법 이 0A 라 고 표시 합 니 다.DOS 형식의 텍스트 파일 은 Linux 아래 에 있 습 니 다. 낮은 버 전의 vi 로 열 면 줄 끝 에 ^ M 이 표시 되 고 많은 명령 들 이 이러한 형식의 파일 을 잘 처리 하지 못 합 니 다. 셸 스 크 립 트 라면...유 닉 스 형식의 텍스트 파일 은 Windows 에서 Notepad 로 열 때 함께 표 시 됩 니 다.따라서 유 닉 스 형식의 텍스트 파일 을 도스 형식 으로 변환 하 는 유 닉 스 2dos 명령 에 대응 하 는 두 가지 형식 파일 이 서로 변환 되 어야 합 니 다.
상용 매개 변수
DOS 형식의 텍스트 파일 을 유 닉 스 형식 으로 변환 하 는 가장 쉬 운 방법 은 dos2unix 가 파일 이름 을 직접 따라 가 는 것 입 니 다.
형식: dos2unix file
한 번 에 여러 파일 을 변환 하면 이 파일 들 의 이름 을 dos2unix 다음 에 직접 따라 갑 니 다.(주: - o 인 자 를 추가 할 수도 있 고 추가 하지 않 아 도 됩 니 다. 효과 가 같 습 니 다)
형식: dos2unix file 1 file 2 file 3
형식: dos2unix - o file 1 file 2 file 3
위 에서 변환 할 때 원래 파일 에서 직접 수정 합 니 다. 변환 결 과 를 다른 파일 에 저장 하려 면 원본 파일 이 변 하지 않 으 면 - n 인 자 를 사용 할 수 있 습 니 다.
형식: dos2unix oldfile newfile
파일 시간 스탬프 가 변 하지 않 으 려 면 - k 인 자 를 추가 하 십시오.그래서 위의 몇 가지 명령 은 모두 - k 인 자 를 추가 하여 파일 시간 스탬프 를 유지 할 수 있 습 니 다.
형식: dos2unix - k file
형식: dos2unix - k file 1 file 2 file 3
형식: dos2unix - k - o file 1 file 2 file 3
형식: dos2unix - k - n oldfile newfile
주: 유 닉 스 2dos 명령 의 사용 방식 은 dos2unix 명령 과 유사 합 니 다.
사용 예시
리 눅 스에 서 DOS 형식 텍스트 파일 의 표현 을 예시 합 니 다.
현재 스 크 립 트 파일 이 있 습 니 다. job. sh 는 Linux 에서 vi 로 편집 되 었 습 니 다.
[root@jfht ~]# cat job.sh
#!/bin/sh
date >job.txt
DOS 。
[root@jfht ~]# unix2dos job.sh
unix2dos: converting file job.sh to DOS format ...
。
[root@jfht ~]# ./job.sh
-bash: ./job.sh:
[root@jfht ~]# chmod +x job.sh
[root@jfht ~]# ./job.sh
-bash: ./job.sh: /bin/sh^M: bad interpreter:
DOS , ,Linux /bin/sh^M, /bin/sh。
Linux DOS 。
[root@jfht ~]# cat -v job.sh <== cat -v , -v cat 。
#!/bin/sh^M
^M
date >job.txt^M
^M
[root@jfht ~]# hexdump -C job.sh <== hexdump -C 。
00000000 23 21 2f 62 69 6e 2f 73 68 0d 0a 0d 0a 64 61 74 |#!/bin/sh....dat|
00000010 65 20 3e 6a 6f 62 2e 74 78 74 0d 0a 0d 0a |e >job.txt....|
0000001e
[root@jfht ~]# vi job.sh <== vi [dos] 。 vi ^M。
#!/bin/sh
date >job.txt
~
~
'job.sh' [dos ] 4L, 30C
DOS Unix , 。
root@jfht ~]# dos2unix job.sh
dos2unix: converting file job.sh to UNIX format ...
[root@jfht ~]# ./job.sh
, “-bash: ./job.sh: /bin/sh^M: bad interpreter: ” 。
[root@jfht ~]#
dos2unix -k dos2unix -n
[root@jfht ~]# cat <<EOF >1.txt
> 1
> 2
> 3
> EOF
[root@jfht ~]# file 1.txt
1.txt: ASCII text
[root@jfht ~]# ls -l 1.txt
-rw-r--r-- 1 root root 6 11-14 09:08 1.txt
[root@jfht ~]# date
2010 11 14 09:28:42 CST
[root@jfht ~]# unix2dos -k 1.txt <==
unix2dos: converting file 1.txt to DOS format ...
[root@jfht ~]# ls -l 1.txt
-rw-r--r-- 1 root root 9 11-14 09:08 1.txt
[root@jfht ~]# dos2unix -n 1.txt 2.txt <== 1.txt 2.txt
dos2unix: converting file 1.txt to file 2.txt in UNIX format ...
[root@jfht ~]# ls -l 1.txt 2.txt
-rw-r--r-- 1 root root 9 11-14 09:08 1.txt
-rw-r--r-- 1 root root 6 11-14 09:30 2.txt
[root@jfht ~]# file 1.txt 2.txt
1.txt: ASCII text, with CRLF line terminators
2.txt: ASCII text
[root@jfht ~]# cat -v 1.txt
1^M
2^M
3^M
[root@jfht ~]# cat -v 2.txt
1
2
3
[root@jfht ~]#