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

ยูทิลิตี้ UNIX สำหรับเชื่อมต่อไฟล์หรืออินพุตสตรีมเข้าด้วยกัน อย่าใช้สำหรับคำถามเกี่ยวกับสัตว์

3
เทียบเท่ากับ Windows ของคำสั่ง Unix cat คืออะไร?
ฉันต้องการทำสิ่งที่ unix "cat" ทำ แต่ในพีซีของฉัน มีคำสั่งที่เทียบเท่าง่ายสำหรับบรรทัดคำสั่ง Windows หรือไม่ โดยเฉพาะฉันต้องการสร้างไฟล์จากไฟล์ทุกประเภทที่กำหนดในโฟลเดอร์ ใน Unix: cat *fna >all_fna_files.fna (ซึ่งรวมไฟล์ข้อความ ".fna" ทั้งหมดไว้ในไฟล์ข้อความขนาดใหญ่หนึ่งไฟล์)
203 windows  unix  cat 

2
ทำไมฉันถึงแมว / dev?
ฉันสามารถcat /devฉันสามารถผมไม่สามารถls /dev less /devเหตุใดจึงcatให้catไดเรกทอรีนี้ แต่ไม่มีไดเรกทอรีอื่น ๆ
41 macos  cat 

8
ฉันทามติทั่วไปเกี่ยวกับ“ การใช้แมวที่ไร้ประโยชน์” คืออะไร?
เมื่อฉันไพพ์คำสั่ง unix หลายคำสั่งเช่น grep, sed, tr ฯลฯ ฉันมักจะระบุไฟล์อินพุตที่กำลังถูกประมวลผลโดยใช้ cat cat file | grep ... | awk ... | sed ...ดังนั้นสิ่งที่ต้องการ แต่เมื่อไม่นานมานี้หลังจากมีความคิดเห็นที่เหลืออยู่ในคำตอบของฉันแสดงว่านี่เป็นการใช้แมวที่ไร้ประโยชน์ฉันคิดว่าฉันจะถามคำถามที่นี่ ฉันค้นหาปัญหาและพบบทความของ Wikipedia เกี่ยวกับ UUOCและThe Useless Use of Cat Awardและดูเหมือนว่าสำหรับฉันแล้วข้อโต้แย้งที่ทำนั้นมาจากมุมมองของประสิทธิภาพ คำถามที่ใกล้เคียงที่สุดที่ฉันได้พบที่นี่คือคำถามนี้: การเรียกแมวเป็นเรื่องที่สิ้นเปลืองหรือไม่? - แต่มันไม่ใช่สิ่งที่ฉันถาม ฉันเดาสิ่งที่ค่าย UUOC แนะนำคือการใช้cmd1 args < file | cmd2 args | cmd3 ..หรือถ้าคำสั่งมีตัวเลือกให้อ่านจากไฟล์แล้วส่งผ่านในไฟล์เป็นอาร์กิวเมนต์ แต่สำหรับฉันcat file | cmd1 …
41 command-line  unix  pipe  cat 

5
แมว Unix เริ่มต้นจากบรรทัด
เป็นวิธีที่ดีที่สุดในการส่งออกจากไฟล์เริ่มต้นจากบรรทัดที่ระบุคืออะไร (ขนาดใหญ่เช่น 70000) สิ่งที่ต้องการ: cat --line=70000 <file>
40 command-line  cat 

4
พฤติกรรมการเปลี่ยนแปลงของปุ่มเปิดปิดลีนุกซ์
ฉันมีเครื่องลินุกซ์หัวขาดที่ฉันใช้สำหรับไฟล์เซิร์ฟเวอร์และสิ่งอื่น ๆ มันใช้งานได้ดีสำหรับฉันไม่กี่ปี แต่มีปัญหาหนึ่ง - แมวของฉันชอบที่จะออกไปข้างนอกและเมื่อเธอปีนออกไปและเมื่อเธอก้าวเข้าสู่ปุ่ม Power และปิดเครื่อง มีวิธีง่าย ๆ ในการเปลี่ยนลักษณะการทำงานของปุ่มเปิดปิดหรือไม่ดังนั้นจึงต้องกดเป็นเวลานานมาก (10 วินาทีหรือมากกว่านั้น) หรือกดหลายครั้งเพื่อทำอะไร?

1
ทำไมแมวถึงไม่เปลี่ยนเวลาเข้าถึง?
การเรียกที่สองเพื่อ cat ไฟล์ไม่ได้อัพเดตเวลาเข้าถึง ฉันคาดหวังว่าเวลาในการเข้าถึงจะได้รับการอัปเดตตลอดเวลาเมื่อมีการแสดงเนื้อหาไฟล์ ฉันเห็นลักษณะการทำงานเดียวกันถ้าฉันเปิดไฟล์ในเว็บเบราว์เซอร์ เวลาในการเข้าถึงไม่ได้รับการอัพเดตอย่างสม่ำเสมอ ฉันเข้าใจผิดเวลาเข้าถึงหรือไม่ แมวสองสายต่างกันอย่างไร ทดสอบ $ สัมผัส ทดสอบสถิติ $ ไฟล์: `ทดสอบ ' ขนาด: 0 บล็อก: 0 IO บล็อก: ไฟล์ว่างเปล่าปกติ 4096 อุปกรณ์: 803h / 2051d ไอโหนด: 152694 ลิงค์: 1 การเข้าถึง: (0664 / -rw-rw-r--) Uid: (1001 / aaron) Gid: (1001 / aaron) การเข้าถึง: 2012-08-21 11: 05: 40.586020996 +0200 …
25 linux  bash  timestamp  cat 

17
แสดงรายการเฉพาะชื่ออุปกรณ์ของอินเทอร์เฟซเครือข่ายที่มีทั้งหมด
ฉันต้องการรับรายการ Network-Device Names ที่มีอยู่ทั้งหมดบนเซิร์ฟเวอร์ Linux ของฉัน ฉันคิดว่า ifconfig จะทำงานอย่างไรก็ตาม ifconfig สร้างผลลัพธ์ค่อนข้างมาก: eth0 Link encap:Ethernet Hardware Adresse 08:00:27:fc:5c:98 inet Adresse:192.168.2.222 Bcast:192.168.2.255 Maske:255.255.255.0 inet6-Adresse: fe80::a00:27ff:fefc:5c98/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 RX packets:329 errors:0 dropped:0 overruns:0 frame:0 TX packets:177 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:41496 (40.5 KiB) TX bytes:32503 …
20 linux  networking  grep  sed  cat 

4
ทำไมสิ่งนี้ไม่ทำงาน “ ls * .txt | xargs cat> all.txt” (ไฟล์ทั้งหมดลงในเอกสาร txt เดี่ยว)
ทำไมสิ่งนี้ไม่ทำงาน ls *.txt | xargs cat > all.txt (ฉันต้องการที่จะเข้าร่วมเนื้อหาของไฟล์ข้อความทั้งหมดลงในไฟล์ 'all.txt' ไฟล์เดียว) ค้นหาด้วย -exec ควรใช้งานได้ แต่ฉันอยากจะเข้าใจไวยากรณ์ xargs จริงๆ ขอบคุณ
20 pipe  cat  xargs 


6
วิธีการคัดลอกทั้งระบบไฟล์ลินุกซ์รูทไปยังฮาร์ดไดรฟ์ใหม่ด้วย ssh และ tar
ฉันต้องถ่ายโอนทั้งระบบไฟล์รูทของลินุกซ์ออกจากฮาร์ดไดรฟ์ที่ล้มเหลวไปยังคอมพิวเตอร์เครื่องอื่นด้วยพาร์ทิชันที่เปิดอยู่และพร้อมใช้งาน ฉันค่อนข้างแน่ใจว่าเกี่ยวข้องกับtarและsshแต่ฉันจำไม่ได้ว่าจะทำอย่างไร ฉันกำลังใช้อิมเมจ live CD บนโฮสต์ใหม่ / เป้าหมายเพื่อเรียกใช้สิ่งนี้: ssh user@failingharddrivehost "some tar command | piped into something else"
18 linux  bash  ssh  tar  cat 

3
ไฟล์ Cat ต่อเทอร์มินัลที่ความเร็วของบรรทัดต่อวินาทีโดยเฉพาะ
ฉันขี้เกียจและฉันสามารถเขียนสคริปต์เพื่อทำสิ่งนี้ แต่ฉันก็ขี้เกียจเกินไปที่จะคิดว่าจะทำอย่างไร ฉันมักจะทำสิ่งต่าง ๆ เช่น: cris$ python runexperiment.py > output.txt cris$ cat output.txt บางครั้งเมื่อดูผลลัพธ์ที่ยาวนานของการทดสอบฉันต้องการให้หน้าเว็บเลื่อนและดูรูปแบบที่ต่อเนื่องและแยกย้ายกันไป แต่การใช้ cat บนไฟล์ที่มี 1 ล้านบรรทัดจะเสร็จสิ้นภายใน 5 วินาที นี่มันเร็วเกินไปสำหรับฉัน มีวิธีใดบ้างที่ฉันสามารถชะลอความเร็วในการดูไฟล์ได้เช่น 'ยูทิลิตีการเลื่อน' ฉันต้องการได้อย่างรวดเร็ว แต่ไม่ถึง 200k บรรทัดต่อวินาที สิ่งที่ต้องการ cris$ scroll -lps=300 output.txt จากนั้นนั่งลงและดู 300 บรรทัดต่อวินาทีที่ผ่านมาจะเหมาะอย่างยิ่ง

2
การต่อข้อมูลแบบไม่สูญเสียของไฟล์ ogg vorbis
ฉันมีไฟล์ ogg vorbis สองไฟล์ทั้งหมดถูกเข้ารหัสด้วยคุณสมบัติเดียวกันที่ฉันต้องการต่อกันเป็นไฟล์เดียว ฉันรู้ว่ารูปแบบ ogg vorbis รองรับการต่อข้อมูลไฟล์หลายไฟล์เช่น: $ cat file1.ogg file2.ogg > output.ogg แต่น่าเสียดายที่ผู้เล่นทุกคนไม่สามารถเข้าใจไฟล์ที่สร้างขึ้นเช่นนั้นตัวอย่างเช่นเครื่องเล่นเสียงมือถือของฉันและฉันหลีกเลี่ยงที่จะซื้อใหม่ โปรแกรมอื่น ๆ ที่ไม่เข้าใจว่าเป็น gstreamer วิธีการนั้นจะไม่ทำงานหากไฟล์ ogg อินพุตเกิดขึ้นกับทุกคนมีสตรีม id เดียวกัน นอกจากนี้เนื่องจากฉันต้องการทิ้งไฟล์ต้นฉบับและเก็บรุ่นที่ต่อกันเท่านั้นฉันจึงต้องการให้การเรียงต่อกันนั้นไม่สูญเสียเช่นเดียวกับcatวิธีแก้ปัญหา ฉันยังต้องการหลีกเลี่ยงการต่อไฟล์เป็นฟอร์แมทแบบ lossless เช่น flac เพราะจะทำให้ขนาดของไฟล์ไม่ใหญ่ขึ้น หากเป็นเช่นนั้นฉันก็สามารถเก็บไฟล์ ogg ดั้งเดิมไว้และใช้พื้นที่น้อยลงได้ ดูเหมือนว่า ffmpeg บางครั้งสามารถทำได้โดยใช้concat demuxer : $ cat inputs.txt file 'in1.ogg' file 'in2.ogg' $ ffmpeg -f concat -i …
12 audio  cat  ogg  lossless  vorbis 

2
ใช้ -replace บนไพพ์ใน powershell
ฉันต้องการทดสอบการแทนที่ก่อนที่จะใช้ดังนั้นฉันพยายามเขียนคำสั่งออนไลน์อย่างรวดเร็วเพื่อดูว่าผลลัพธ์คืออะไร อย่างไรก็ตามฉันไม่แน่ใจว่าไวยากรณ์คืออะไร สิ่งที่ฉันต้องการจะทำคือสิ่งที่ชอบ cat file | -replace "a", "b" ไวยากรณ์ PowerShell ที่ถูกต้องสำหรับสิ่งนี้คืออะไร ฉันรู้ว่าฉันสามารถทำได้$a = cat fileและทำการแทนที่$aแต่ฉันต้องการเก็บมันไว้ในบรรทัดเดียว

2
พิมพ์ (ถอดรหัส) ไฟล์ที่เข้ารหัสเป็นกลุ่ม
ฉันใช้-xตัวเลือกในกลุ่มเพื่อเข้ารหัสไฟล์ ฉันอ่านไฟล์นี้บ่อยกว่าที่เขียนไว้ดังนั้นฉันมักจะใช้ cat แล้วจำไว้ว่ามันถูกเข้ารหัสเพราะสิ่งที่มันแสดง .. ดังนั้นฉันต้องใช้เป็นกลุ่มใส่รหัสผ่านแล้วออกจากการใช้:q.. มีวิธีการใช้ cat (หรือคำสั่งอื่นแน่นอนผ่านรหัสผ่านของฉันที่ไหนสักแห่ง) และเพียงแค่พิมพ์ / รับเนื้อหา? หรืออาจจะมีเพียงตัวเลือกเป็นกลุ่มที่พิมพ์เฉพาะเนื้อหาโดยไม่ต้องเข้าสู่โปรแกรมแก้ไข?

4
ฉันจะหยุด cat output ในทันทีได้อย่างไรแม้จะมีเอาต์พุตขนาดใหญ่
ฉันกำลังมองหาวิธีที่จะหยุดการส่งออกไปยัง STDOUT เมื่อฉันรู้ว่าคำสั่งผิด ตัวอย่างเช่นถ้าฉันตั้งใจแมวไฟล์ที่มีขนาดใหญ่มาก โดยปกติแล้วจะหยุดในที่สุดหากคุณกดctrl+cแต่มันใช้เวลานาน มีวิธีหยุดเอาต์พุตทันทีหรือไม่?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.