ฉันจะแปลงไฟล์ทั้งหมดในโฟลเดอร์เป็นจุดสิ้นสุดบรรทัดอื่น (linux หรือ mac) ได้อย่างไร ฉันใช้ Windows
ตอนนี้แนวทางของฉันคือใช้ Winscp เพื่อคัดลอกไปยังกล่อง linux แล้วเรียกใช้ dos2unix ซ้ำในโฟลเดอร์
ฉันจะแปลงไฟล์ทั้งหมดในโฟลเดอร์เป็นจุดสิ้นสุดบรรทัดอื่น (linux หรือ mac) ได้อย่างไร ฉันใช้ Windows
ตอนนี้แนวทางของฉันคือใช้ Winscp เพื่อคัดลอกไปยังกล่อง linux แล้วเรียกใช้ dos2unix ซ้ำในโฟลเดอร์
คำตอบ:
ติดตั้ง Cygwin และ Dos2unix ใน Cygwin แล้ว
find . -type f -exec dos2unix {} \;
-maxdepth 1
มันไม่ผ่านไดเรกทอรีย่อย
คุณสามารถติดตั้งgit bashแทน cygwin32 (หรือคล้ายกัน) บน Windows มันมาพร้อมกับคำสั่งยูนิกซ์เหมือนหลาย (เช่นfind
, dos2unix
ฯลฯ ) ในbash
โหมดการจำลองแบบ เมื่อติดตั้งแล้วการแปลงไฟล์จาก Windows ไปเป็นจุดสิ้นสุดไฟล์ Unix ควรเป็นเรื่องง่าย
สมมติว่าคุณมีไฟล์ของคุณ (ลงท้ายด้วย. javaต่อท้าย) ในโฟลเดอร์ทรีชื่อsrcและคุณต้องการแปลงไฟล์ตอนจบจาก Windows เป็น Unix
find . -name "*.java" -exec dos2unix {} \;
เรียกใช้:และนั่นมัน!
คำตอบของคุณในการใช้ dos2unix และ unix2dos นั้นยอดเยี่ยม
นี่เป็นอีกวิธีหนึ่งตามคำตอบของคุณ
คุณสามารถใช้ Gnuwin32 ได้อย่างสนุกสนานพอ ๆ กับแพ็คเกจ Gnuwin32 ที่มีคำสั่งคือ Cygutils http://gnuwin32.sourceforge.net/packages/cygutils.htm ดังนั้นคุณจะได้รับ unix2dos.exe และ dos2unix.exe ใน C: \ Program Files .... \ GnuWin32 \ bin และในเส้นทางของคุณ
C:\somedir>dir<ENTER>
Volume in drive C has no label.
Volume Serial Number is DC46-3C68
Directory of C:\somedir
05/23/2014 01:10 AM <DIR> .
05/23/2014 01:10 AM <DIR> ..
05/23/2014 01:10 AM 4 file1
1 File(s) 4 bytes
3 Dir(s) 196,129,951,744 bytes free
Do this command to go from dos2unix
C:\somedir>for %f in (*) do dos2unix %f <ENTER>
C:\somedir>dos2unix file1 <-- This runs automatically from you doing the above command
file1: done.
And do this command to go from unix2dos
C:\somedir>for %f in (*) do unix2dos %f <ENTER>
C:\somedir>unix2dos file1 <-- This runs automatically from you doing the above command
file1: done.
C:\somedir>
และเพื่อทดสอบว่าของคุณสำหรับ% f จะทำสิ่งที่คุณต้องการหรือไม่จากนั้นใช้ echo หรือ @ECHO เช่น
สำหรับ% f ใน (*) ทำ @ECHO unix2dos% f
และคุณสามารถใช้ xxd เพื่อสร้างไฟล์และทดสอบว่าพวกเขาแปลงแล้ว xxd สำหรับ windows มาพร้อมกับ VIM C: \ Program "" Files \ vim \ vim74 \ xxd.exe
so, i'll create a file, I like this style of command is it allows me to
create whateer file I want, a dos one or a unix one or anything.
61 is hex for 'a'
C:\somedir>echo 610d0a| xxd -r -p >testfile <ENTER>
check the file raw, in its hex
C:\somedir>cat testfile | xxd -p <ENTER>
610d0a
check the file in ascii or unicode
C:\somedir>cat testfile <ENTER>
a
and the following commands just prove that dos2unix and unix2dos work/are working fine.
C:\somedir>dos2unix testfile <ENTER>
testfile: done.
C:\somedir>cat testfile | xxd -p <ENTER>
610a
C:\somedir>unix2dos testfile <ENTER>
testfile: done.
C:\somedir>cat testfile | xxd -p <ENTER>
610d0a
C:\somedir>
หมายเหตุ - ในกรณีที่ใช้ * distix โปรดดูที่ apt-get (apt-cache search dos2unix) แพ็กเกจนั้นแน่นอน (อาจแปลกใจ!) dos2unix (ติดตั้งด้วย apt-get ติดตั้ง dos2unix) และที่รวมกับ dos2unix ปฏิบัติการ, ปฏิบัติการ unix2dos หากคุณทำการค้นหา apt-cache unix2dos มันจะแสดงแพ็กเกจ dos2unix