Saya harap saya mengutarakan pertanyaannya dengan benar. Saya punya skrip yang banyak menggunakan 'sed'. Ini berfungsi dengan baik di ubuntu saya dengan 'sed' GNU. Tetapi ketika saya mencoba menjalankannya di BusyBox gagal. Apakah ada cara untuk mendapatkan sed GNU di busybox? Saya bukan pro Linux.
5
{"expires": "Thu, 11 Oct 2012 11:30:29 +0000", "upload_id": "hhgJHflih753jDhhod", "offset": 293876}
dengansed -n -e 's/.*"upload_id":\s*"*\([^"]*\)"*.*/\1/p'
memberikan output yang diinginkan (hhgJHflih753jDhhod) di ubuntu saya tetapi tidak pada BusyBoxJawaban:
The
Busybox
Iteself mungkin memiliki implementasi terbatassed
. Anda dapat menyalinsed
biner ke beberapa lokasi dan memohonnya langsung menunjuknya dengan path lengkap.Anda dapat memperbaiki beberapa masalah ketidakcocokan dengan mengganti lolos yang
sed
tidak didukung oleh BusyBox builtin , misalnya mengganti\s
pelarian dengan[[:space:]]
akan menyelesaikan masalah pencocokan ruang.sumber
\s
melarikan diri dengan[[:space:]]
. Saya pikir ini akan menyelesaikan masalah Anda\s
tidak membantu. Jika Anda memposting ini sebagai jawaban, saya akan senang menerimanya!Anda sepertinya salah paham bagaimana cara
busybox
kerjanya. Alat ini adalah satu yang dapat dieksekusi tunggal yang bertindak dengan cara berbeda tergantung pada nama (atau sub-perintah) yang dengannya ia dipanggil. Jika Anda memanggil symlink yangsed
menunjuk kebusybox
biner (ataubusybox sed
), fungsionalitas "sed" akan dieksekusi.Untuk mendapatkan sed GNU ke lingkungan busybox, Anda harus menghapus
sed
symlinkbusybox
dan menyediakansed
biner GNU dan pustaka yang bergantung padanya. Anda dapat mengidentifikasi perpustakaan denganldd
perintah:sumber