Saya memiliki variabel yang nilainya ditemukan menggunakan kueri sql.
Saya ingin menghapus baris baru karakter dari variabel itu karena saya ingin menggabungkan variabel ini dengan yang lain. Di bawah ini adalah kode:
dt=`sqlplus -s user/pwd@servicename <<EOF
set feedback off;
set head off;
select replace(to_char((sysdate-7),'YYYYMonDD')||'_'||to_char((sysdate-1),'YYYYMonDD'),chr(10), '') from dual;
exit;
EOF`
echo "test $dt"
${var//a/}
Anda tidak perlu menggunakan yang terakhir/
,${var//a}
akan melakukan hal yang persis sama.Kedengarannya Anda perlu "tr", sesuatu seperti:
man tr untuk detail, seperti biasa
sumber
Ini berfungsi di Linux (bash):
Di Linux, atau sistem lain dengan utilitas tanggal GNU, ini juga berfungsi untuk mendapatkan nilai itu untuk dt: (tanpa melibatkan Oracle ...)
sumber
echo 'puts [clock format [clock scan "-1 week"] -format %Y%b%d]_[clock format [clock scan yesterday] -format %Y%b%d]' | tclsh
dari manual sqlplus Oracle
SET PAGES [IZE] {14 | n} Mengatur jumlah garis pada setiap halaman output. Anda dapat mengatur PAGESIZE ke nol untuk menekan semua judul, istirahat halaman, judul, baris kosong awal, dan informasi pemformatan lainnya.
jadi tambahkan
set pagesize 0
ke skrip Anda untuk menghindari judul baris kosong.untuk sebagian besar skrip saya, saya menggunakan pengaturan dalam potongan kode berikut:
sumber