Tidak yakin mengapa ini harus dihapus untuk dilupakan, tapi tetap saja.
grep "[a-zA-Z]"
grep adalah alat pencarian, menggunakan ekspresi reguler. Ekspresi spesifik ini mencari rentang karakter (dalam kurung) huruf kecil (az) atau huruf besar (AZ). Jadi, itu akan cocok dengan satu huruf ASCII pada input.
CATATAN Karena baris ini tidak mengatakan file (atau pipa) untuk dibaca, ini akan dibaca dari stdin sampai Anda mengakhirinya dengan Ctrl-D. Berarti terminal Anda akan nampak hang, meskipun sedang mencari.
semacam -u
Sortir stdin (lihat catatan di atas) lalu gabungkan garis-garis yang bersebelahan menjadi satu baris, artinya hanya daftar garis-garis unik
awk -F"," '{if($4 == "2" && $6 == "UPD-LOC" && $7 == "OUT"){
print $11,$12,$18,$23,$11$12
}}' $txnfile_fail | sort | tr ' ' ',' >$TEMP_FOLDER/txnFailOut-$1.txt
awk adalah alat yang berguna untuk memanipulasi file teks, di suatu tempat antara bash + grep dan perl dalam kompleksitas dan sakit kepala. Ini menggunakan kekuatan awk untuk membaca kolom,
Jalankan alat awk pada file bernama dalam variabel $ txnfile_fail. The -F
bendera untuk pembatas lapangan, jadi yang dipisahkan koma file input. Periksa apakah bidang ke-4 adalah 2, jika bidang ke-6 adalah 'UPD-LOC', dan bidang ke-7 adalah 'KELUAR'. Jika demikian, buang bidang 11, 12, 18, 11, 12. Kemudian urutkan keluaran, terjemahkan spasi menjadi koma, dan kemudian buang ke file $ TEMP_FOLDER / txnFailOut- $ 1.txt.
Jadi, ini memfilter file csv, hanya mencetak kolom tertentu, mengurutkan input yang difilter dan membuang ke file yang berbeda. Anehnya baik-baik saja dengan spasi sebagai pemisah keluaran, kemudian menerjemahkan spasi ke karakter yang berbeda. Anda dapat mengatur pemisah dalam awk dengan pernyataan awk 'OFS =,'.