Saya punya file seperti ini:
2018.01.02;1.5;comment 1
2018.01.04;2.75;comment 2
2018.01.07;5.25;comment 4
2018.01.09;1.25;comment 7
Saya ingin mengganti semua titik .
di kolom kedua dengan koma ,
seperti yang saya lakukan dengan sed 's/\./\,/g' file
bagaimana saya bisa menggunakan sed
atau lebih baik awk
hanya menerapkan ini untuk kolom kedua, sehingga output saya akan terlihat seperti ini:
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
text-processing
awk
sed
nath
sumber
sumber
ganti kemunculan titik ketiga
sumber
cat
... Mengapa tidak adilsed 's/\./,/3' file
? (Juga, koma tidak perlu diloloskan.)cat
tidak akan sia-sia di sini. Itu akan memungkinkan operasi untuk menggunakan 2 core.cat
, selain menggunakan sumber daya? Mungkin memberikan sedikit penyangga, tetapi kemudian niat ini harus lebih baik diungkapkan oleh alat sepertibuffer
daripada olehcat
.Dilakukan dengan metode di bawah ini menggunakan awk
Perintah:
awk -F ";" '{gsub(/\./,",",$2);print $1";"$2";"$3}' filename
keluaran
sumber