ක්ලිප්බෝඩ් වෙත ගොනුවක් පිටපත් කිරීමට ටර්මිනලය භාවිතා කිරීම


171

මට ඩෙස්ක්ටොප් එකේ ගොනුවක් ලැබුණා, ගොනුවේ නම ded.html. ගොනුව පිටපත් කිරීම සඳහා, මම ගොනුව ක්ලික් කර cmd + c ඔබන්න.

දැන් මම ටර්මිනලය භාවිතා කර එකම දේ කරන්නේ කෙසේද?


2
ඔබ අදහස් කරන්නේ ගොනුව පිටපත් කිරීම හෝ අන්තර්ගතය ඇලවීම සඳහා ගොනුවේ අන්තර්ගතය පිටපත් කිරීමද?
user151019

Answers:


254

මම ප්‍රශ්නය නිවැරදිව තේරුම් ගන්නේ නම්, ඔබ පසු වන්නේ කුමක් ද pbcopyසහ pbpaste.

පර්යන්තයක් විවෘත කර කරන්න:

$ cat ~/Desktop/ded.html | pbcopy

දැන් එම ගොනුව ක්ලිප්බෝඩ් එකේ ඇත.

එය වෙනත් තැනක තැබීමට, එනම්, එය ඇලවීමට, කරන්න:

$ pbpaste > ~/Documents/ded.html

දැන් ඔබ ~ / ලේඛනවල වාඩි වී සිටින ded.html පිටපතක් තිබිය යුතුය.


3
පෙළ ලිපිගොනු සමඟ වැඩ කිරීම සඳහා මෙය විශිෂ්ටයි, නමුත් ඔබ ද්විමය සමඟ කාර්යය කිරීමට උත්සාහ කරන විට එය අසාර්ථක වනු ඇත. මා අදහස් කරන දේ බැලීමට රූපයක් සමඟ මෙය උත්සාහ කරන්න.
ඉටායි ෆර්බර්

8
$ cat ~ / Desktop / ded.html | ටයිප් කිරීමෙන් පසු pbcopy ගොනුව ඇලවීමට මට cmd + v භාවිතා කළ නොහැක. සිතුවිලි $ pbpaste> Docu / ලේඛන / ded.html එම කාර්යය ඉටු කළේය.
කෝපාවි කිවි

2
සෙවුම් මෙනුව හරහා යාමෙන් ඔබට ඔබේ OSX ක්ලිප්බෝඩ් එකේ ගොනු අන්තර්ගතයන් බැලීමට හැකිය සංස්කරණය> පෙන්වන්න ක්ලිප්බෝඩ් (යොස්මයිට් හි පරීක්ෂා කර ඇත).
ඩැනීඩ්

ස්තූතියි, කිසියම් අදහසක් මා එය කියවා ඊළඟ විධානයට යොමු කරන්නේ කෙසේද? උදා cat ~/.emulator_console_auth_token | auth <read_content>?
ඩොමිනික්

2
මෙය ගොනුවේ අන්තර්ගතය පිටපත් කරයි, නමුත් ගොනුවම නොවේ.
vy32

21

Lri පිළිතුර නිවැරදි දිශාව ප්රධානියා වේ, නමුත් එය අඩුපාඩු කිහිපයක් ඇත: භාවිතා කිරීමට අවශ්යතාවයක් නැත උයනක් ( the clipboardකොටසක් වන StandardAdditions OSAX), සහ ලබා runහසුරුවන්නා විධාන රේඛාවේ සිට පරාමිති කිරීමට වඩා විශ්වාසදායක ක්රමයක් (10.4 සිට). මෙම වෙනස්කම් දෙකම සිදු කිරීමෙන් වැඩසටහනට ඇතුල් වීමට ෂෙල් එකකින් කළ යුතු “පැන යාම” බෙහෙවින් සරල කරයි.

මෙන්න මගේ අනුවාදය (ෂෙල් ශ්‍රිතයකින් ඔතා ඇත - ඔබට මෙය (උදා) .bashrcඔබේ ෂෙල් වෙඩි වලින් ලබා ගත හැකිය):

file-to-clipboard() {
    osascript \
        -e 'on run args' \
        -e 'set the clipboard to POSIX file (first item of args)' \
        -e end \
        "$@"
}

file-to-clipboard ~/Desktop/ded.html

මෙම ස්ක්‍රිප්ට් එක සමඟ ක්ලිප් පුවරුවේ දමා ඇති ගොනුවක් වෙනත් ෆෝල්ඩරයකට පිටපත් කිරීම සඳහා ෆයින්ඩර් තුළ අලවිය හැකිය.

osascript හෑෂ්-බෑන්ග් පරිවර්තකයක් ලෙසද භාවිතා කළ හැකිය (10.5 සිට). මෙය ගොනුවකට දමන්න (උදා file-to-clipboard)

#!/usr/bin/osascript
on run args
  set the clipboard to POSIX file (first item of args)
end

ගොනුව ක්‍රියාත්මක කළ හැකි ( chmod +x /path/to/where/ever/you/put/file-to-clipboard) කරන්න. ඉන්පසු එය එසේ ධාවනය කරන්න:

/path/to/where/ever/you/put/file-to-clipboard ~/Desktop/ded.html

එය PATH හි නාමාවලියක ගබඩා කර ඇත්නම්, එවිට ඔබට “ස්ක්‍රිප්ට්” ගොනුව වෙත යන මාර්ගය මඟ හැරිය හැක.


RiLri: සෙවුම්කරුට පැහැදිලිව තේරෙන්නේ නැත set the clipboard to {one,two}(තවත් AppleScript වැඩසටහනකට සාර්ථකව ලැයිස්තුව උකහා ගත හැකි වුවද). මෙම StandardAdditions විධාන තනි භාණ්ඩ සීමා කර තිබිය හැක පසුරු පුවරුවට.
ක්‍රිස් ජොන්සන්

1
එය බහු ගොනු සඳහා වැඩ කරයිද?
VitalyB

සටහන: ලබා දී ඇති මාර්ගය ස්ක්‍රිප්ටය වැඩ කිරීමට නිරපේක්ෂ මාර්ගයක් විය යුතුය.
ලියෝ

10

විධාන රේඛාව භාවිතා කරමින් ඔබ කිරීමට උත්සාහ කරන දේ සාක්ෂාත් කර ගැනීමට ක්‍රමයක් නොමැත. මූලික පිටපත් පිටපත් කිරීමට ඇපල් විසින් pbcopyසහ pbpasteමෙවලම් ඉදිරිපත් කරන අතර , ඔබ සොයන අර්ථයෙන් ගොනුවක් පිටපත් කිරීමට ඔබට මෙම මෙවලම් භාවිතා කළ නොහැක.

ඕනෑවට වඩා තාක්ෂණික තොරතුරු වෙත Cනොගොස්, ඔබ සෙවුමේ ගොනුවක් 'පිටපත්' කරන විට , ඔබ ඇත්ත වශයෙන්ම ගොනුවම පිටපත් නොකරන්නේ, ක්ලිප් පුවරුවේ ඇති ගොනුව වෙත යොමු කිරීමක් සහ එය ගොනු යොමු කිරීමක් ලෙස සලකුණු කිරීමෙනි. ඔබ අලවන විට යෙදුමකට මෙම යොමුව ලැබුණු විට, දේවල් පිළිවෙලට තැබීම, ඔබ අලවා ඇති දේ හදුනා ගැනීම සහ අවසානයේදී සුදුසු යැයි පෙනෙන පරිදි ගොනුව සමඟ වැඩ කිරීමේ වගකීම එයට ඇත. සාරාංශයක් ලෙස, ඔබ සෙවුමේ ගොනුවක් පිටපත් කරන විට, එය එක්තරා ආකාරයකින් ක්ලිප් පුවරුවකට ගොනුව වෙත මාර්ගය සුරකින අතර, ඔබ අලවන විට, එම ගොනු මාර්ගය ලැබෙන අතර අන්තර්ගතයේ අන්තර්ගතය භාවිතා කර නව ගොනුවක් නිර්මාණය කිරීමට දනී. පැරණි එකක් (ගොනුවක් ක්ලිප් පුවරුවට පිටපත් කරන්න, එය මකා දමන්න, වෙනත් තැනක ඇලවීමට උත්සාහ කරන්න, සහ සිදුවන්නේ කුමක්දැයි බලන්න, උදාහරණයක් ලෙස).

පිටපත් කිරීම හා ඇලවීම පිළිබඳ මෙම අර්ථයෙන්, ඔබට අවශ්‍ය දේ කිරීමට අතේ ඇති මෙවලම් ප්‍රමාණවත් නොවේ. බොජ් යෝජනා කළ පරිදි, ඔබට පැරණි ගොනුවේ අන්තර්ගතය නව එකක් වෙත පිටපත් කිරීමට උත්සාහ කළ හැකිය, නමුත් මෙය ක්‍රියා කරන්නේ පෙළ ලිපිගොනු සඳහා පමණි. ඔබට ලැබෙන ඕනෑම ද්විමය ලිපිගොනු දූෂිත වනු ඇත (රූපයක් සමඟ මෙය කිරීමට උත්සාහ කරන්න - එය දූෂිත වේ).

සාම්ප්‍රදායික විධාන රේඛාව මේ ආකාරයෙන් ඔබව අසමත් වනු ඇත, නමුත් ඇපල් ස්ක්‍රිප්ට් හි මෙය කිරීමට ඔබ කැමති දැයි බැලීමට ඔබට හැකිය, ඉන්පසු විධාන රේඛාව හරහා එය ක්‍රියාත්මක කරන්න osascript.


පින්තූර ආදිය ගැන ඔබ හරි. මම ඒ ගැන හිතුවේ නැහැ. මම වුවද මම, ප්රශ්නය වරදවා වටහා තියෙනවා අනුමාන pbcopyහා pbpasteඑය හුදෙක් තනි පෙළ ගොනුවකට විය වෙන්නේ නිසා පමණක් බව, ක .html ගොනුව, සමඟ කටයුතු කරනු ඇත.
boehj

නැත, ඔබ ප්‍රශ්නය නිවැරදිව වටහාගෙන ඇත, එය ඔබ සිතන්නේ මෙම මෙවලම් ඔවුන් කළ යුතු ආකාරයට ක්‍රියා කළ බව ය. ඒවා දෝෂ සහිත වන අතර, ඒ ආකාරයෙන් වැඩ කිරීමට පවා අදහස් නොකෙරේ, ඇපල් ලේඛනගත කිරීම සම්බන්ධයෙන් ඉතා දුර්වල කාර්යයක් කර ඇතත්. ඔබ ටයිප් කරන්නේ නම් pbcopy -help, ඔබට NSLog()නැවත නැවත නිෂ්පාදනය කිරීමට සුදුසු නොවන රේඛාවක් 'pbcopy -help'ලැබේ. මෙය අවබෝධ කර ගැනීම සඳහා ක්‍රමලේඛකයෙකු වීමට එය උපකාරී වේ, ඒ නිසා මට එය අවුල් කළ යුතු යැයි හැඟුණි.
ඉටායි ෆර්බර්

1
ඔව්, ප්‍රශ්නයක් නැහැ. ;)
ඉටායි ෆර්බර්

1
Pbcopy හි යම් අවධානයක් ලබා ගැනීමට කැමති ඕනෑම කෙනෙකුට නොමිලේ සංවර්ධක ගිණුමක් ලබා ගත හැකි අතර දෝෂ කිහිපයක් ගොනු කළ හැකිය - bugreport.apple.com - එය උදව් වනු ඇති බවට කිසිදු සහතිකයක් නැත, නමුත් එය ප්‍රමාණවත් පුද්ගලයින් තවමත් සැලකිලිමත් වන්නේ නම් මේ පිළිබඳව වැඩ කිරීමට කාලය ලබා ගැනීමට ඉංජිනේරුවන්ට හැකියාව ලබා දෙයි. .
bmike

1
CLI හි AppleScript සමඟ OP හට තමන්ට අවශ්‍ය දේ ලබා ගත හැකිද?

8

ටර්මිනලයේ pbcopy < filenameවිධානය ක්‍රියාත්මක කිරීම නම් කරන ලද ගොනුවේ අන්තර්ගතය පිටපත් කරයි filename.


1
පිළිගත් පිළිතුරට වඩා 10x පහසුය
පෝල් රස්වාන් බර්ග්

8

පහත ශ්‍රිතය ක්‍රියාත්මක වන්නේ තනි ගොනුවක් සමඟ මිස බහු ගොනු සමඟ නොවේ. readlinkධාවනය කිරීමෙන් ඔබට ස්ථාපනය කළ හැකි GNU එයට අවශ්‍ය වේ brew install findutils.

copy(){ osascript -e{'on run{a}','set the clipboard to posix file a',end} "$(greadlink -f -- "$1")";}

සංස්කරණය කරන්න: මම tell app "Finder"වාරණය ඉවත් කළෙමි .

2 වන සංස්කරණය: සාපේක්ෂ මාර්ග සඳහා සහය දක්වන අනුවාදයක් වෙත ආපසු හරවනු ලැබේ.


2
මෙය සැබවින්ම ක්රියා කරයි!
බෙම්මු

3

ගමනාන්තයකට ගොනුවක් පිටපත් කිරීමට, cpවිධානය භාවිතා කරන්න .

cp /path/to/file /path/to/destination

වැඩි විස්තර man cpසඳහා බලන්න .


2
ඉලක්කගත ස්ථානය ලෙස ක්ලිප් පුවරුව සඳහන් කරන්නේ කුමන ප්‍රශ්නයට පිළිතුරක් නොවේ.
kellyfj

2

මෙන්න සරල ෂෙල් / බෑෂ් පිටපතක්. එය ඔබගේ .bashrcගොනුවේ අලවන්න (හෝ ඒ හා සමාන):

file-to-clipboard() {
    if [ -z "$1" ]; then
        echo "file path/name:"
        read FILE
    else
        FILE="$1"
    fi
    pbcopy < "$FILE"
}

0

සාපේක්ෂ ගොනුවේ සහාය ඇතිව:

clip_img() {
    osascript -e 'on run argv' \
        -e 'set currentDir to do shell script "pwd"' \
        -e 'set the clipboard to (read POSIX file (POSIX path of (currentDir as text & (first item of argv) )) as JPEG picture)' \
        -e 'end run' "/$1"
    # osascript -e 'clipboard info'
}

clip_img path-to-fileරූපය ක්ලිප්බෝඩ් වෙත පිටපත් කිරීමට ධාවනය කරන්න, path-to-fileඑය සාපේක්ෂ විය හැකිය. ගොනුව jpeg හෝ png ගොනු විය හැකිය.


-2

ඔබට යුනික්ස් පරිසරයන් මත cat 'originfile'> 'destinationfile' භාවිතා කළ හැකිය;

වින්ඩෝස් මත ගමනාන්ත ගොනුව පිටපත් කරන්න.


2
මෙම ගොනුව ක්ලිප් පුවරුවේ ස්ථානගත කරන්නේ කෙසේද?
grg
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.