Saya telah melakukan hal berikut di baris perintah:
$ text="name with space"
$ echo $text
name with space
Saya mencoba menggunakan tr -d ' '
untuk menghapus spasi dan memiliki hasil:
namewithspace
Saya sudah mencoba beberapa hal seperti:
text=echo $text | tr -d ' '
Tidak ada keberuntungan sejauh ini jadi semoga Anda orang-orang hebat dapat membantu!
shell
command-line
tr
pengguna3347022
sumber
sumber
Anda tidak perlu
echo
perintah sama sekali, cukup gunakan Here String sebagai gantinya:Hanya untuk rasa ingin tahu, saya memeriksa berapa banyak waktu yang diperlukan untuk tugas sepele untuk alat yang berbeda. Berikut adalah hasil yang diurutkan dari yang paling lambat ke yang paling cepat:
Operasi shell murni jelas merupakan yang tercepat yang tidak mengejutkan, tetapi yang benar-benar mengesankan adalah lebih dari 100 kali lebih cepat daripada perintah yang paling lambat!
sumber
Cukup modifikasi variabel teks Anda seperti di bawah ini.
Namun, jika kita memiliki karakter kontrol, ini mungkin rusak. Jadi, sesuai saran Kasperd, kita bisa memiliki tanda kutip ganda di sekitarnya. Begitu,
akan menjadi versi yang lebih baik.
sumber
$text
berisi karakter kontrol, yang akan ditafsirkan oleh shell. Lebih baik masukkan tanda kutip ganda di sana:text="$(echo "$text" | tr -d ' ')"
sumber
kasus khusus ketika Anda membutuhkan variabel yang memiliki nomor:
SH:
ksh:
sumber