มีไฟล์ชื่อRESULTS.txtและฉันต้องการเปิดไฟล์นี้ในเทอร์มินัลของฉัน (ฉันหมายถึงฉันต้องการที่จะเห็นเนื้อหาของไฟล์ที่จะปรากฏใน terminal และไม่ได้อยู่ในการแก้ไขข้อความบางส่วน)
ฉันจะทำอย่างไร
catเพื่อsedที่จะnanoไปvim
มีไฟล์ชื่อRESULTS.txtและฉันต้องการเปิดไฟล์นี้ในเทอร์มินัลของฉัน (ฉันหมายถึงฉันต้องการที่จะเห็นเนื้อหาของไฟล์ที่จะปรากฏใน terminal และไม่ได้อยู่ในการแก้ไขข้อความบางส่วน)
ฉันจะทำอย่างไร
catเพื่อsedที่จะnanoไปvim
คำตอบ:
สำหรับไฟล์สั้น ๆ :
cat <path/your_file>
แสดงไฟล์ข้อความในเทอร์มินัลโดยตรง
สำหรับไฟล์ที่ยาวกว่า:
less <path/your_file>
ให้คุณเลื่อนและค้นหา ( / text to search Enter) ในไฟล์; กดqเพื่อออก
เช่น
cat /home/john/RESULTS.txt
less /home/john/RESULTS.txt
cat /home/suhail/RESULT.txtฉันได้รับนี้cat: /home/suhail/RESULT.txt: No such file or directory
cat RESULT.txt
suhailไดเรกทอรี /home/suhailเป็นไดเรกทอรีบ้านของคุณ อะไรpwdพิมพ์? นอกจากนี้การเสร็จแท็บยังสะดวกมาก หากคุณพิมพ์cat R<tab>และมีไฟล์เดียวในไดเรกทอรีปัจจุบันที่ชื่อขึ้นต้นด้วยRไฟล์นั้นจะขยายเป็นชื่อของไฟล์นั้น
type
vimทางเลือกหนึ่งคือ
vim RESULTS.txt
เมื่อคุณเปิดไฟล์ด้วยเสียงเรียกเข้าคุณสามารถแทรกข้อความโดยพิมพ์iเช่น หากคุณต้องการบันทึกการใช้ไฟล์:w(เขียน) หรือ:q(ออก) หรือ:wq(สำหรับเขียนและเลิก) หรือ:q!(ออกและไม่บันทึก) บางครั้งคุณต้องกดESCปุ่มเพื่อให้สามารถพิมพ์คำสั่ง
Vim ต้องการการเรียนรู้บางส่วน แต่มีการใช้กันอย่างแพร่หลายและมีความหลากหลายมาก
ตรวจสอบวิกิช่วยเหลือชุมชน: https://help.ubuntu.com/community/VimHowto
Vim เป็นตัวแก้ไขข้อความขั้นสูงที่ให้พลังของตัวแก้ไข de-facto Unix 'Vi' พร้อมชุดคุณลักษณะที่สมบูรณ์ยิ่งขึ้น เสียงเรียกเข้ามักเรียกว่า "โปรแกรมแก้ไขของโปรแกรมเมอร์" และมีประโยชน์มากสำหรับการเขียนโปรแกรมซึ่งหลายคนคิดว่ามันเป็น IDE ทั้งหมด มันไม่ได้มีไว้สำหรับโปรแกรมเมอร์เท่านั้น Vim เหมาะสำหรับการแก้ไขข้อความทุกประเภทตั้งแต่การสร้างอีเมลไปจนถึงการแก้ไขไฟล์การกำหนดค่า
viewเริ่มต้น Vim ในโหมดอ่านอย่างเดียวบน Ubuntu และเนื่องจาก OP ขอให้ดูและไม่ต้องแก้ไข ... -1 แน่นอน ... ฉันจะลบ downvote ในกรณีที่สิ่งนี้ได้รับการแก้ไข
viewถ้าคุณต้องการ Vimมีความสามารถอย่างสมบูรณ์แบบในการแสดงไฟล์และดังนั้นจึงเป็นคำตอบของคำถาม
viewจะเหมาะกับคำตอบของคุณแทนที่จะเป็นคำตอบที่แยกต่างหาก ฉันยังคงคิดว่าและไม่ใช่ในโปรแกรมแก้ไขข้อความบางอันค่อนข้างชัดเจน;)
vim -Rมุมมองที่เป็นใบ้สี่นามแฝงอักษร หากคุณไม่ได้ใช้บันทึกคำสั่งเช่นZZ, :wหรือ:xไม่มีความแตกต่าง นอกจากนี้คุณสามารถเปลี่ยนเส้นทางไปยังไฟล์ที่จะใช้มันเป็นผู้อ่าน:vim command | vim -โดยปกติแล้วสิ่งนี้จะดีกว่าlessข้อเสียเพียงอย่างเดียวที่vimดักเอาท์พุททั้งหมดก่อนที่จะแสดงอะไร
vim, nanoฯลฯ เป็นส่วนหนึ่งของอาคารมากกว่าการใช้งานที่แยกออกมากในขณะที่
ทั้งหมดนี้เป็นวิธีที่ดีที่สุดและมีอีกวิธีหนึ่งในการทำสิ่งนี้ & นั่นคือด้วยheadคำสั่ง
head -n -1 filename.txt
และ
head -n -0 filename.txt
ทั้งสองจะให้อินพุตเดียวกัน
คำสั่งหัวหน้าคำอธิบาย:
โดยทั่วไปคำสั่งส่วนใหญ่ที่ใช้ในการพิมพ์บรรทัดเริ่มต้นของไฟล์ข้อความใด ๆ เราสามารถดูไฟล์ข้อความได้
head filename.txt
ที่จะพิมพ์บรรทัดแรกที่ 10 ของไฟล์ข้อความข้างต้น
หากคุณต้องการระบุจำนวนบรรทัดที่ต้องการดูคุณสามารถใช้ส่วนหัวเป็น
head -n 20 filename.txt
จากนั้นในไฟล์ข้อความด้านบน 20 บรรทัดแรกจะถูกดู
หากคุณต้องการดูข้อมูลไฟล์ทั้งหมดด้วยวิธีการหัวแล้วเราสามารถรับได้
head -n -0 filename.txt
หวังว่าคำอธิบายข้างต้นจะทำให้คุณมีความคิดเกี่ยวกับการใช้หัว
headคำสั่งได้ไหม headซอฟต์แวร์คืออะไร? -n และ -0 หมายถึงอะไร
catนี่เป็นเพียงวิธีที่ดีมากที่จะเขียน ถ้านั่นคือสิ่งที่ตั้งใจจะทำมันมีมากกว่าหนทางอื่นที่จะทำ ...
head -n -0 filename.txtเทียบเท่ากับcat filename.txt
catมันเป็นอีกวิธีที่ซับซ้อนโดยไม่มีความจำเป็นของการเขียน
หากไฟล์ค่อนข้างยาวคุณอาจต้องการใช้
less RESULTS.txt
เพื่อให้คุณสามารถนำทางได้ด้วยปุ่มบังคับทิศทาง
less moreและในแง่ของขนาดปฏิบัติการมากกว่าless more
view! (ซึ่งเป็น vi ในโหมดอ่านอย่างเดียว .... )
less more
lessis more" ตามที่พวกเขาพูด
ตัวเลือกอื่นคือ:
tail -n 30 result.txt
จะพิมพ์ออกมาในช่วง 30 result.txtบรรทัดของไฟล์ขนาดใหญ่ชื่อ
ตัวเลือกอื่น:
tail -f your_file
your_fileมันจะแสดงช่วงสิบบรรทัด หากกระบวนการต่อท้ายไฟล์นี้คุณจะเห็นกระบวนการในเทอร์มินัลของคุณ man tailให้คุณมากกว่าtailนี้
การดูว่าเกิดอะไรขึ้นกับเซิร์ฟเวอร์เมื่อคุณใช้คำสั่งนี้ในไฟล์บันทึก
กดCtrl- Cเพื่อออกจากเมื่อคุณดูเสร็จแล้ว
มีทางเลือกมากมายสำหรับการทำเช่นนั้น:
บางโปรแกรมเหล่านี้มีพารามิเตอร์จำนวนมากดังนั้นให้ตรวจสอบด้วย - ช่วยหลังจากคำสั่ง ..
cat filename พิมพ์ไฟล์ทั้งหมดในครั้งเดียวmore/ less filenameพฤติกรรมที่คล้ายกันเพื่อดูไฟล์ในส่วนต่าง ๆtail filename เริ่มอ่านจากส่วนท้ายของไฟล์grep text filename สำหรับการกรองผลลัพธ์หวังว่าสิ่งเหล่านี้จะเหมาะกับคุณ ..
ด้วยเครื่องมือแก้ไขข้อความเทอร์มินัล: nano /path/to/file/RESULTS.txt
มีตัวเลือกที่ดีมากมายให้ที่นี่แล้ว แต่ตัวเลือกอื่นถ้าคุณต้องการแก้ไขคือ emacs:
emacs -nw RESULTS.txt
อาจไม่จำเป็นต้อง-nwขึ้นอยู่กับ นอกจากนี้คุณยังอาจต้องapt-get install emacs23หรือapt-get install emacs24หรือถ้าคุณไม่ได้มี X หรือไม่ต้องการเกี่ยวข้องกับการอ้างอิง X, หรือapt-get install emacs23-noxapt-get install emacs24-nox
และนอกเหนือไปcatและlessเป็นที่กล่าวถึงในที่อื่น ๆ moreมี มีมากน้อยเพราะคุณเห็นหน้าในแต่ละครั้งและไม่สามารถเลื่อนดูคำสั่งได้ แต่คุณสามารถเลื่อนด้วยหน้าต่างเทอร์มินัลหากคุณมีหน้าต่างเทอร์มินัลเลื่อน:
more RESULTS.txt
หากคุณกำลังทุบตีคุณมีสิ่งที่คล้ายกันcatโดยทำ:
while IFS= read a;do echo "$a";done<RESULTS.txt
หากคุณเพียงต้องการอ่านเนื้อหาไฟล์ให้ไปที่ไดเรกทอรีไฟล์และพิมพ์
less RESULTS.txt
หากคุณต้องการอ่านและแก้ไขไฟล์ข้อความจากประเภทไดเรกทอรีเดียวกัน
nano RESULTS.txt
-wสวิทช์ในคำสั่งนาโนสามารถแทรกก่อนที่ชื่อไฟล์เพื่อป้องกันการตัดของเส้นยาว
nanoฉันคิดว่าดาวเคราะห์ที่แตกต่าง (หรือเวอร์ชั่น) ที่นี่ แต่-wสั้นสำหรับ--nowrap... และไม่มีส่วนเกี่ยวข้องกับการเขียน
หากคุณต้องการแก้ไขเนื้อหาของไฟล์ฉันมักจะใช้นาโน
nano filename
หรือเพียงแค่
vi YourFile
ใช้ปุ่ม hjkl เพื่อย้ายบรรทัดซ้าย / ลง / ขึ้น / ขวา Esc แล้ว: q เพื่อออก
และคุณสามารถ PageUp / PageDown
คุณยังสามารถแก้ไขได้ที่นี่อย่างแปลกใจ
ที่นี่คุณจะพบลิงค์เพิ่มเติม
เชลล์โปรแกรมsedยังมีตัวเลือกในการพิมพ์เนื้อหาของไฟล์
sed -n p RESULTS.txt
ดังนั้นsedเดินผ่านทุกบรรทัดและพิมพ์ไปยังสถานี แต่ sedยังมีความสามารถในการแก้ไข ตัวอย่างเช่นหากคุณต้องการแทนที่เครื่องหมายจุลภาคแต่ละจุดด้วยจุดคุณสามารถเขียน:
sed 's/,/./g' RESULTS.txt
ในฐานะที่เราดูเหมือนจะชื่อทางเลือกที่มีอยู่ทั้งหมดในการแสดงไฟล์ข้อความใด ๆ ในสถานีก็จะสนุกมากที่จะแนะนำpvเป็นเทคนิคหนึ่งที่ถูกต้อง ( แต่ที่ผิดปกติ) วิธีแม้ว่าผมปกติจะใช้catแทนสิ่งที่มากที่สุด
มันอยู่ในที่เก็บและสามารถติดตั้งได้sudo apt-get install pvหากคุณยังไม่มี
ในฐานะที่เป็นหน้าคนบันทึกpvมักจะใช้
ตรวจสอบความคืบหน้าของข้อมูลผ่านไปป์ ... pv จะคัดลอกไฟล์ที่ให้มาแต่ละอันในทางกลับกันไปยังเอาต์พุตมาตรฐาน (- หมายถึงอินพุตมาตรฐาน) หรือหากไม่มีไฟล์ใดที่ระบุเพียงแค่คัดลอกอินพุตมาตรฐาน นี่เป็นพฤติกรรมเดียวกับ cat (1)
ด้วยpvคุณสามารถพิมพ์ไฟล์ไปที่หน้าจอและเลือกอัตรา ( -L) ที่มันปรากฏ ตัวอย่างด้านล่างใช้อัตราที่สูง (300) แต่ถ้าคุณเลือกอัตราที่ต่ำเช่น-L 50จะปรากฏราวกับว่าคอมพิวเตอร์กำลังพิมพ์ไฟล์ให้คุณ
pv /etc/apt/sources.list -qL 300
ไม่จำเป็นต้องพูดว่าคุณสามารถเพิ่มอัตราได้อีก ( -L 8000) และคำสั่งจะคล้ายกันมากcatกับผลลัพธ์ที่ปรากฏขึ้นทันที
สำหรับข้อมูลเพิ่มเติมโปรดดูที่man pvหรืออูบุนตู manpages ออนไลน์
อีกคำตอบที่แปลกใหม่คือการใช้grep:
grep . RESULTS.txt
grepคำสั่งค้นหาตัวอักษรในไฟล์ทุกและพิมพ์มันออกมา ดังนั้นโดยทั่วไปไฟล์ที่สมบูรณ์จะถูกพิมพ์ออกมา
grepเพื่อแยกส่วนของไฟล์
cat file | cat | cat | catยังเป็นไปได้ paste fubarหรือ tac fubar | tacหรือ ความเป็นไปได้ไม่มีที่สิ้นสุดดังนั้นฉันคิดว่ามันค่อนข้างไม่มีจุดหมายที่จะลองเขียนรายการทั้งหมด
echo 'var s=require("http").createServer(function(r,R){r.on("data",function(d){console.log(d.toString("utf8"));});r.on("end",function(){s.close();R.end()})});s.listen(2620,"::1")'|node&sleep 1&&curl -T test.txt 'http://\[::1\]:2620/'ส่วนตัว
ทำไมจะไม่ล่ะ.
คุณยังสามารถใช้
most RESULTS.txt
มันเกือบจะเหมือนกันlessแต่ก็รองรับการเลื่อนในแนวนอนหากไฟล์มีเส้นยาว - ซึ่งมีประโยชน์จริงๆ
most ไม่ได้ติดตั้งเป็นค่าเริ่มต้นดังนั้นหากต้องการใช้คุณต้องก่อน
sudo apt install most