คัดลอกข้อความทั้งหมดของหน้า `man 'ทั้งหมดจาก Terminal.app


20

ฉันกำลังอ่านหน้าคนที่ยาวมาก ( man ssh) ฉันต้องการบันทึกข้อความทั้งหมดเพื่อความสะดวกในการอ่านในโปรแกรมแก้ไขข้อความ

น่าเสียดายที่เลือกอย่างใดอย่างหนึ่ง:

  • แก้ไข→เลือกทั้งหมด→คัดลอก

  • เชลล์→ส่งออกข้อความเป็น ...

ผลในการบันทึกเพียงเต็มหน้าจอของข้อความไม่ใช่ข้อความทั้งหมดที่เลื่อนตาม

ฉันจะแยกข้อความของทั้งmanหน้าได้อย่างไร


Man Reader แอพของบุคคลที่สามฟรี เปิดหน้าต่างที่มีรายการทางด้านซ้ายของหน้าคู่มือที่เป็นไปได้ทั้งหมด เมื่อคุณเลือกหนึ่งรายการมันจะพิมพ์เนื้อหาในบานหน้าต่างตรงกลาง ค่อนข้างดี
jmh

คำตอบ:


25

คุณสามารถส่งข้อความธรรมดาไปที่คลิปบอร์ดได้โดยการไพพ์ไปที่pbcopyเพื่อวางที่ใดก็ได้ตามปกติ

man ssh | col -b | pbcopy

หรือเทียบเท่า

man -P "col -b | pbcopy" ssh

หลังซึ่งเป็น nicer ถ้าคุณต้องการใช้มันเป็นนามแฝงเช่นmancp sshรับ:

alias mancp='man -P "col -b | pbcopy"'

มีวิธีไปที่ HTML / PDF: สามารถแปลง man page เป็นรูปแบบ html และ / หรือ pdf ได้หรือไม่?


หากเป็นเพียงประสบการณ์การอ่านที่ดีกว่าคุณตามหลังมาคุณสามารถคลิกขวาที่คำสั่งที่เลือกและเปิด man page เป็นหน้าต่าง / แท็บแยกต่างหากพร้อมการเลื่อนปกติและ findF ค้นหา

อ่านดีกว่า

คุณสามารถปรับแต่งสิ่งที่มีลักษณะเช่นนี้ในการตั้งค่าเทอร์มินัล→โปรไฟล์ภายใต้โปรไฟล์ Man Page ซึ่งเป็นหนึ่งในโปรไฟล์เริ่มต้นที่มีอยู่
ซึ่งรวมถึงตระกูลแบบอักษรและขนาด (ดูที่เมนูมุมมอง) และสีพื้นหลัง / เบื้องหน้า

ค่ากำหนดโปรไฟล์ Man Page


2
การคลิกขวาสำหรับหน้าคนไม่ทำงานกับ iTerm บนเครื่องของฉันมันใช้งานได้กับเทอร์มินัล หน้าต่างกระพริบที่ฉันเดา 10 ครั้งต่อวินาที ฉันสามารถหยุดมันได้ด้วยการคลิก แต่ฉันไม่รู้ว่าฉันกำลังคลิกอยู่ที่ไหน ...
jmh

@jmh ดูเหมือนว่าจะเป็นข้อผิดพลาดของ Mojave ริบหรี่นี้ได้มาที่นี่เช่นกัน
nohillside

1
pbcopyและpbpasteเป็นสองสิ่งที่มีประโยชน์มากที่สุดบน Macos
Christopher Schultz

1
ขอบคุณ! คำตอบทั้งหมดเป็นข้อมูลและมีประโยชน์ แต่ฉันต้องยอมรับคำตอบนี้ man ssh | col -b | pbcopyวิธีการแก้ปัญหาโดยตรงที่เฉพาะเจาะจงของคำถามของฉัน จากนั้นเมื่ออ่านไอซิ่งบนเค้กตัวอ่าน man-page แบบในตัวของ Terminal.app จะสำคัญกว่าเพื่อความสะดวกในการใช้งาน
Basil Bourque

การขยายโซลูชันที่มีประโยชน์ของคุณยังสามารถรวมความกว้างของคอลัมน์และ / หรือเปิดโซลูชันโดยตรงในเท็กซ์เอดิเตอร์ที่เลือกเช่น: MANWIDTH=80 MANPAGER="col -bx" man tmutil | open -fa "TextMate"
Asmus

13

หากคุณต้องการอ่าน man page ใน Preview ก่อนหน้านี้ฟอร์แมตในรูปแบบ PDF คุณสามารถเรียกใช้ได้

man -t ssh | open -f -a Preview

หรือ

man ssh | col -b | open -f -e

เพื่อเปิดเวอร์ชันข้อความใน TextEdit


6

ไพพ์เอาต์พุตมาตรฐานของการรันmanคำสั่งไปยังcolยูทิลิตี้บิวด์อิน เรียกใช้บรรทัดคำสั่งต่อไปนี้:

man ssh | col -b > ssh.txt


@BasilBourque ฉันยังพบนี้บทความที่ยอดเยี่ยม
Nimesh Neema

4

ประสบการณ์การอ่านที่ดีที่สุดสำหรับงานเหล่านี้เกิดขึ้นได้เมื่อใช้แอพพลิเคชั่นเฉพาะสำหรับงานนั้น

ผู้สมัครสองคน:

AquaLess

AquaLess เป็นเพจเจอร์ข้อความสำหรับ Mac OS X ช่วยให้คุณสามารถเรียกดูไฟล์ข้อความธรรมดาและที่สำคัญกว่า - เอาท์พุทข้อความจากเครื่องมือบรรทัดคำสั่ง Unix AquaLess เป็นการแทนที่ Cocoa สำหรับคำสั่ง less ซึ่งถูก จำกัด ไว้ที่หน้าต่างเทอร์มินัล AquaLess เปิดหน้าต่างแยกต่างหากสำหรับแต่ละข้อความเพื่อให้คุณสามารถทำงานในสถานีในขณะที่คุณอ่าน

หรือManOpen

ManOpen เป็นแอปพลิเคชัน MacOS X GUI สำหรับการดูหน้าคู่มือ Unix ซึ่งเป็นเอกสารมาตรฐานสำหรับโปรแกรมบรรทัดคำสั่ง Unix ไลบรารีโปรแกรมเมอร์และข้อมูลระบบอื่น ๆ มันสามารถเปิดไฟล์ได้โดยตรงหรือได้รับชื่อในกรณีนี้มันจะแสดงผลลัพธ์จากโปรแกรมบรรทัดคำสั่ง `คน ' นอกจากนี้ยังมีอินเทอร์เฟซ apropos ซึ่งเป็นการค้นหาฐานข้อมูล man page ที่รวดเร็วและสกปรก มีการให้บริการแก่แอปพลิเคชั่นอื่น ๆ เพื่อเปิดไฟล์ / ชื่อเรื่องที่เลือกหรือทำการค้นหาโดยใช้ข้อความที่เลือก ManOpen มีประโยชน์ในการเปิดหน้า man โดยไม่ต้องวางลงในบรรทัดคำสั่งเรียกดูและค้นหาผ่าน man page ที่ยาวและซับซ้อนหรือเพียงพิมพ์ออกมา

รวมทั้งยังเป็นเครื่องมือบรรทัดคำสั่ง `openman 'ซึ่งคล้ายกับ man ยกเว้นว่ามันจะแสดง man page ใน ManOpen.app แทนที่จะไปที่เทอร์มินัลโดยตรง

หรืออ่านหน้าเหล่านั้นใน Safari? จากนั้นไปที่bwana

ดาวน์โหลด Bwana และวางลงในโฟลเดอร์แอปพลิเคชันของคุณ จากนั้นโดยไม่ต้องเรียกใช้คุณสามารถเริ่มดูหน้า Unix ด้วยตนเองโดยใช้เบราว์เซอร์ของคุณ เพียงพิมพ์ "man:" ตามด้วยหน้าคนที่คุณต้องการในช่อง URL ของเบราว์เซอร์ กด Enter แล้วให้ Bwana ทำสิ่งที่เหลือ

man pages ที่สร้างโดย Bwana นั้นง่ายและตรงประเด็น เราเพิ่งโยนสีบางส่วนหัวหนาและทำความสะอาดมันเล็กน้อยเพื่อให้ง่ายในตา ในความเป็นจริงแล้ว Bwana นั้นง่ายมากไม่มีอะไรที่เราจะพูดเกี่ยวกับมันได้อีกแล้ว ดังนั้นเพียงแค่ดาวน์โหลด Bwana ตอนนี้เพื่อดูว่ามันทำงานร่วมกับเบราว์เซอร์ของคุณได้ง่ายเพียงใด

จากนั้นคุณสามารถสร้างฟังก์ชั่นเชลล์สำหรับมันดังนี้:

function sman
    open -a Bwana man:$1
end

เพื่อประโยชน์ในด้านความสมบูรณ์: หากคุณติดตั้ง X11 ไว้คุณก็มีxmanเช่นกัน

ผู้สมัครคนอื่นอาจจะมีผู้ชายอ่าน ($) , Manpager , แมนพาวเวอร์ ($) , ผู้ชาย Viewer


3

ทำไมจึงทำให้สิ่งต่าง ๆ มีความซับซ้อนมากกว่าที่เป็นอยู่?

https://man.openbsd.org/ssh

เนื่องจากคุณสามารถโพสต์ที่นี่คุณสามารถเข้าถึงอินเทอร์เน็ตได้อย่างชัดเจน

หากคุณใช้ google สักเล็กน้อยคุณอาจพบรุ่นที่จัดรูปแบบด้วยวิธีที่แตกต่างกันเช่น PDF หรือมากกว่านั้น


4
+1 สำหรับลัทธิปฏิบัตินิยมแม้ว่าตอนนี้คุณต้องคิดออกว่าจะใช้ man page แบบไหนในบางครั้ง (สำหรับเครื่องมือต่าง ๆ ที่อาร์กิวเมนต์บรรทัดคำสั่งต่างกันเช่น Linux และ BSD หรือที่สิ่งต่าง ๆ เปลี่ยนไปมากระหว่างเวอร์ชัน )
ปุย

และนอกเหนือจากความคิดเห็นของ @ fluffy สิ่งนี้จะไม่ทำงานกับเครื่องมือ macOS ใด ๆ ที่มีอยู่มากมายเช่น tmutil สำหรับ Time Machine
grg

1
@grg ใช่แล้วss64.com/osx/tmutil.html
db

1
นั่นคือเว็บไซต์อื่นคุณไปถึงที่นั่นโดยค้นหาจากลิงก์ของคุณในโพสต์หรือเพียงแค่ Google ฉันรู้ว่ามี man page มากมายทางออนไลน์รวมถึงการอ้างอิงนักพัฒนาของ Apple ที่มีหน้า man แบบ tmutil แต่คำตอบนี้ไม่มีอะไรมากไปกว่า 'Google it'?
grg

@grg ฉันได้รับมาจาก Google ใช่ แต่จุดประสงค์ของคำถามคือเพื่อทำให้การอ่านหน้าคนง่ายขึ้นและหน้าเว็บเป็นวิธีที่ดีในการบรรลุเป้าหมายนั้น
db

2

ถ้าคุณชอบคุณมีสำเนาPDFของหน้าคู่มือของคุณนี่คือฟังก์ชั่นที่ฉันเพิ่มลงใน.bash_profileไฟล์ของฉันเพื่อสร้างPDFของคำสั่งBSD แต่ละคำฉันจะตรวจสอบหน้าคู่มือสำหรับ:

manp () 
{ 
    docDir="$HOME/Documents/BSD Commands"
    [[ ! -d $docDir ]] && mkdir -p "$docDir"
    if [[ ! -f $docDir/$1.pdf ]]; then
        man -t "$1" | pstopdf -i -o "$docDir/$1.pdf"
        open "$docDir/$1.pdf"
    else
        open "$docDir/$1.pdf"
    fi
}

ดังนั้นในTerminalให้พิมพ์เช่นmanp bashแทนที่จะman bashสร้างPDFหากยังไม่ได้สร้างขึ้นจากนั้นแอปที่เปิดให้ลงทะเบียนเพื่อจัดการเอกสารPDF เริ่มต้นเป็นตัวอย่างก่อนแต่ในระบบของฉันก็กำหนดให้ใช้สกิมเป็นฟังก์ชั่นการค้นหาจะดีกว่าแล้วดูตัวอย่างและเป็นเรื่องของความเป็นจริงจะพบสตริงการค้นหาเมื่อดูตัวอย่างก็จะไม่

โปรดทราบว่าครั้งแรกที่มีการใช้ฟังก์ชั่นมันจะระบุแบบอักษรบางส่วนในผลลัพธ์ในTerminalอย่างไรก็ตามนี่เป็นการนับครั้งเดียวของแบบอักษร

สิ่งที่ดีเกี่ยวกับสำเนาPDFคือมันคงการจัดรูปแบบเช่นตัวอักษรหนาและตัวเอียง ฯลฯ


ในฐานะที่เป็นที่ทราบด้านการพิมพ์เพียงคำสั่งชื่อในเทอร์มิแล้วคลิกขวาที่มันและเลือกหน้าคนเปิดแสดงไว้ในอย่างเต็มที่เลื่อนและค้นหาเทอร์มิman bashหน้าต่างซึ่งเป็นที่ดีมากแล้วเช่นการพิมพ์

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