คำถามติดแท็ก cat

20
ต่อกันหลายไฟล์ แต่รวมชื่อไฟล์เป็นส่วนหัว
ฉันต้องการเชื่อมไฟล์ข้อความหลายไฟล์เป็นไฟล์ขนาดใหญ่หนึ่งไฟล์ในเทอร์มินัล ฉันรู้ว่าฉันสามารถทำได้โดยใช้คำสั่ง cat อย่างไรก็ตามฉันต้องการให้ชื่อไฟล์ของแต่ละไฟล์นำหน้า "data dump" สำหรับไฟล์นั้น ใครรู้วิธีการทำเช่นนี้? สิ่งที่ฉันมีอยู่ในปัจจุบัน: file1.txt = bluemoongoodbeer file2.txt = awesomepossum file3.txt = hownowbrowncow cat file1.txt file2.txt file3.txt ผลลัพธ์ที่ต้องการ: file1 bluemoongoodbeer file2 awesomepossum file3 hownowbrowncow


12
คำสั่ง linux cat สามารถใช้สำหรับเขียนข้อความเป็นไฟล์ได้หรือไม่?
เป็นเช่นนี้ cat "Some text here." > myfile.txt ไปได้หรือไม่ เช่นนี้เนื้อหาของmyfile.txtตอนนี้จะถูกเขียนทับเพื่อ: Some text here. สิ่งนี้ไม่ได้ผลสำหรับฉัน แต่ยังไม่ทิ้งข้อผิดพลาดใด ๆ มีความสนใจเป็นพิเศษในcatโซลูชันที่ใช้ (ไม่ใช่ vim / vi / emacs เป็นต้น) ตัวอย่างทั้งหมดแสดงออนไลน์ที่catใช้ร่วมกับอินพุตไฟล์ไม่ใช่ข้อความดิบ ...
144 linux  cat 

7
การเชื่อมต่อไฟล์และแทรกบรรทัดใหม่ระหว่างไฟล์
ฉันมีหลายไฟล์ที่ฉันต้องการที่จะ concat catกับ เอาเป็นว่า File1.txt foo File2.txt bar File3.txt qux ฉันต้องการเชื่อมต่อเพื่อให้ไฟล์สุดท้ายมีลักษณะดังนี้: foo bar qux แทนที่จะเป็นแบบนี้ด้วย cat File*.txt > finalfile.txt foo bar qux วิธีที่ถูกต้องคืออะไร?
127 linux  unix  cat 

9
ใช้แมวอย่างไร้ประโยชน์?
นี่อาจเป็นคำถามที่พบบ่อยหลาย ๆ คำถาม - แทนที่จะใช้: cat file | command (ซึ่งเรียกว่าการใช้แมวอย่างไร้ประโยชน์) วิธีที่ถูกต้องควรจะเป็น: command < file ในวิธีที่ 2 "ถูกต้อง" - OS ไม่จำเป็นต้องสร้างกระบวนการเพิ่มเติม แม้จะรู้อย่างนั้น แต่ฉันก็ยังคงใช้แมวไร้ประโยชน์ต่อไปด้วยเหตุผล 2 ประการ สวยงามมากขึ้น - ฉันชอบเมื่อข้อมูลเคลื่อนจากซ้ายไปขวาอย่างสม่ำเสมอเท่านั้น และง่ายต่อการเปลี่ยนcatกับสิ่งอื่น ( gzcat, echo... ), เพิ่มไฟล์ที่ 2 หรือใส่กรองใหม่ ( pv, mbuffer, grep... ) ฉัน "รู้สึก" ว่ามันอาจเร็วกว่าในบางกรณี เร็วขึ้นเนื่องจากมี 2 กระบวนการขั้นตอนที่ 1 ( cat) ทำการอ่านและกระบวนการที่สองทำอะไรก็ได้ …
101 shell  command-line  cat 

6
ทำไม sudo cat ให้การอนุญาตถูกปฏิเสธ แต่ sudo vim ใช้งานได้ดี?
ฉันกำลังพยายามเพิ่มแหล่งที่เก็บโดยอัตโนมัติในไฟล์ pacman.conf ของ arch ของฉัน แต่ใช้echoคำสั่งในเชลล์สคริปต์ของฉัน อย่างไรก็ตามมันล้มเหลวเช่นนี้: - sudo echo "[archlinuxfr]" >> /etc/pacman.conf sudo echo "Server = http://repo.archlinux.fr/\$arch" >> /etc/pacman.conf sudo echo " " >> /etc/pacman.conf -bash: /etc/pacman.conf: Permission denied หากฉันทำการเปลี่ยนแปลงกับ /etc/pacman.conf ด้วยตนเองโดยใช้ vim โดยทำ sudo vim /etc/pacman.conf และเลิกใช้งานเป็นกลุ่ม:wqทุกอย่างทำงานได้ดีและ pacman.conf ของฉันได้รับการอัปเดตด้วยตนเองโดยไม่มีข้อร้องเรียน "ปฏิเสธการอนุญาต" ทำไมจึงเป็นเช่นนั้น? และฉันจะsudo echoไปทำงานได้อย่างไร? (btw ฉันลองใช้sudo catด้วย แต่ก็ล้มเหลวด้วยการปฏิเสธสิทธิ์เช่นกัน)
87 bash  shell  echo  cat 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.