Saya membuat skrip ./abc
.
Saya ingin memecah output menjadi baris baru.
kode saya:
#!/bin/bash
dir="$1"
echo -n "size of file:"
du -hba $dir | sort -n -r | tail -1
keluaran saya adalah:
size of files: 20kb
/path/to/sport
Saya ingin hasilnya sebagai:
size of files: 20kb
/path/to/sport
Jawaban yang Diterima:
Saya akan mempertimbangkan sesuatu seperti ini:
du="$(du -hba "$dir" | sort -n -r | tail -1)"
printf "size of file: %snt%sn" "${du/$'t'*}" "${du#*$'t'}"
du
variabel mengambil hasil pencarian Anda. Ini kemudian dibagi menjadi dua bagian yang dipisahkan tab untuk printf
pernyataan, dengan masing-masing bagian diinterpolasi ke dalam format string dengan %s
.
Konstruksi ini harus menangani nama file yang berisi baris baru, tab, dan karakter tidak biasa lainnya.
Uji Pencarian Dan Ganti Sed Rekursif Sebelum Menjalankan?
Typeset -a Apakah Memberikan Kesalahan Dalam Script?