Cara menggunakan AppleScript untuk mengubah alamat IP dalam teks yang disalin

-1

Pada dasarnya saya perlu mencari di isi clipboard untuk alamat IP dan menggantinya dengan alamat yang berada dalam subnet yang sama sekali berbeda: (10.10.8.24 hingga 192.168.8.24 sebagai contoh). Saya mencoba menggunakan temukan dan ganti templat di Automator tetapi tidak berfungsi dengan teks yang disalin. Saya juga jenis noob dengan sintaks AppleScript.

charmndr
sumber
2
Anda mengatakan " Saya perlu mencari 10.10.8.24 di isi clipboard dan mengubahnya ke 192.168.10.11 sebagai contoh. ", Sehingga bisa tolong mengedit pertanyaan Anda menambahkan lebih detail, karena mengatakan " sebagai contoh " membuat ini sedikit luas dan kurang secara detail nyata. Apakah Alamat IP ini satu-satunya pengganti yang Anda coba buat atau apa? Bagaimana dan kapan info ditempatkan di clipboard, apakah ada kemungkinan penggantian dapat dilakukan sebelum sampai ke clipboard? Apakah konten Clipboard diformat atau teks biasa? Dll!
user3439894
Apakah mengatasi jalur SMB penuh dari Finder dan kemudian menempelkannya menjadi kendur. Idealnya saya memiliki layanan lain yang berfungsi berkat beberapa pengguna di pos saya yang lain: apple.stackexchange.com/questions/281156/… ~ tetapi akan sangat bermanfaat jika saya bisa menggabungkan kedua skrip ini menjadi satu. Mengubah konten clipboard dari seseorang: //10.10.8.24/folder ke folder \\ 192.168.10.24 \ dan kemudian perintah ol 'paste akan menjatuhkan hasil di mana pun Anda inginkan.
charmndr
Anda belum menjawab semua yang saya minta di komentar pertama saya untuk pertanyaan Anda! Apakah 10.10.8.24untuk 192.168.10.11IP Address substitusi satu-satunya yang Anda butuhkan untuk membuat atau ada lain IP Address Anda perlu pengganti. Sekali lagi saya mohon Anda untuk mengedit pertanyaan Anda menambahkan rincian yang sesuai!
user3439894
Jika Anda ingin melakukan ini bersamaan dengan pertanyaan lain, ( apple.stackexchange.com/questions/281156 ), mengapa Anda tidak dapat membuat substitusi dalam contoh yang sudah disajikan !? The on searchReplace(theText, SearchString, ReplaceString) handler sepenuhnya mampu membuat substitusi! Setelah set convertedText to searchReplace(selectedText, "smb://", "\\\\")baris kode digunakan, mis set convertedText to searchReplace(convertedText, "10.10.8.24", "192.168.10.11"). , . Anda dapat menambahkan itu sebanyak untuk pasangan IP Address yang perlu Anda gantikan.
user3439894
Ok jadi saya mulai membungkus pikiran saya sekitar AppleScript. Mendapatkan suara tetapi oh well. Semuanya mulai bersatu. Terima kasih atas bantuan yang ditingkatkan @ user3439894 !!
charmndr

Jawaban:

1

Anda dapat menggunakan perintah shell ini untuk memeriksa konten clipboard dan menggantinya:

[[ $(pbpaste) == "10.10.8.24" ]] && printf "192.168.10.11" | pbcopy

Pada dasarnya, ini memeriksa apakah clipboard saat ini (yang keluaran pbpaste) sama dengan string pertama. Jika ya, itu akan mem-pipe output dari perintah printf ke pbcopy, yang menulis ke clipboard. Anda dapat menambahkan ini ke AppleScript dan mengulanginya dengan:

repeat
    do shell script "[[ $(pbpaste) == \"10.10.8.24\" ]] && printf \"192.168.10.11\" | pbcopy; exit 0"
    delay 1
end repeat

(Anda harus memeriksanya sedikit dengan \ dan; keluar 0 sehingga berjalan di AppleScript, tetapi ini harus memeriksa setiap detik dan mengganti clipboard)

Leo Adberg
sumber
Bagian pertama dari jawaban Anda mengasumsikan bahwa clipboard hanya berisi Alamat IP, yang mungkin atau mungkin tidak terjadi karena tentu tidak jelas dari OP. Juga, ada apa dengan loop berulang tanpa henti yang memicu setiap detik? Sama sekali tidak ada apa-apa di OP yang ingin melakukan loop tanpa akhir dan bahkan jika ada, bagaimana Anda akan keluar dari loop tanpa akhir !? Jangan pernah memposting kode yang menyebabkan loop tanpa akhir tanpa juga menyediakan cara terprogram untuk keluar dari loop tanpa akhir!
user3439894
Ya, maaf dan terlambat ke pesta. Saya harus mengklarifikasi bahwa ini akan ideal sebagai item menu Layanan. Apakah itu cukup mudah diimplementasikan? Saya akan melihat apa yang dapat saya temukan dengan apa yang dikatakan Leo di atas, tetapi itu membuat saya takut tentang LOL yang tak berujung.
charmndr