+1
Làm thế nào để chạy sed script để edit file mà không bị lỗi
sed -i 's/[()]// g'
sed -i 's/[ ]// g'
sed -i 's/[-]// g'
sed -i 's/\([0-9][0-9]\)\([0-9]\)\([0-9][0-9][0-9][0-9]\)\([0-9]\)/\1\4\3\2/'
sed -i -e 's/8/F/ g' -e 's/6/S/ g' -e 's/7/D/ g' -e 's/9/G/ g' -e 's/4/t/ g' -e 's/2/e/ g' -e 's/3/r/ g' -e 's/0/q/ g' -e 's/1/w/ g' -e 's/5/A/ g'
sed -i '/^[a-z]/aKhangTrann'
Mình tạo sed script bằng dòng lệnh: vi test.sed
Sau đó mình đánh những dòng này vô rồi lưu lại. Rồi mình chạy dòng lệnh $ sed -r -f minor1.sed phone.txt ---- mình muốn chỉnh sửa số file các số điện thoại
(866) 879-7647
(888) 474-7424
(371) 670-6006
(866) 266-5588
(844) 415-3955
(800) 237-2747
(800) 667-2747
thành:
FSSFDGDStD
FFttDtDFet
rDqSDqSwqS
KhangTrann
FSAeSSASFF
FtGtwArtAA
FqDerDeqtD
FqDSSDeqtD
Các dòng code bên trên đều chạy ổn nếu mình sử dụng script test.sed rồi xài các dòng code đó ngay tại command linux screen. Còn nếu mình muốn no chạy thành một cái file sed thì lỗi là : sed: file test.sed line 1: unterminated `s' command
Thêm một bình luận
1 CÂU TRẢ LỜI
+3
Nếu bạn dùng file thì sẽ không có đoạn sed -i ...
nữa mà chỉ có sed script thôi.
Của bạn thì file sẽ như thế này
s/[()]// g
s/[ ]// g
s/[-]// g
s/([0-9][0-9])([0-9])([0-9][0-9][0-9][0-9])([0-9])/\1\4\3\2/
s/8/F/ g
s/6/S/ g
s/7/D/ g
s/9/G/ g
s/4/t/ g
s/2/e/ g
s/3/r/ g
s/0/q/ g
s/1/w/ g
s/5/A/ g
/^[a-z]/aKhangTrann