I will really appreciate any help on this!
I have a file looking like the following
date month year
12 5 1982
30 6 1982
3 1982
28 1877
30 2 1888
As you can see, my file has blanks in a column, but I like to keep it
that way.
When I tried to use awk to print each column into a separate file
(date.txt, month.txt, and year.txt),
it doesn't retain the blank information on emacs but moves the value
below upward to cover the blank. So, it'd be like
date.txt
12
30
28
30
month.txt
5
6
3
2
How can I keep the blank as it is in the original fiile?
Please help.
So this is an awk question? man awk
Otherwise you could do it in emacs:
(require 'cl)
(defmacro* dolines (start-end &body body)
"Executes the body with start-var and end-var bound to the start and the end of each lines of the current buffer in turn."
(let ((vline (gensym)))
(destructuring-bind (start-var end-var) start-end
`(let ((sm (make-marker))
(em (make-marker)))
(unwind-protect
(progn
(goto-char (point-min))
(while (< (point) (point-max))
(let ((,vline (point)))
(set-marker sm (point))
(set-marker em (progn (end-of-line) (point)))
(let ((,start-var (marker-position sm))
(,end-var (marker-position em)))
,@body)
(goto-char ,vline)
(forward-line 1))))
(set-marker sm nil)
(set-marker em nil))
nil))))
(dolines (start end)
(goto-char start)
(when (re-search-forward "^\\( *?[0-9]*\\)\\( *?[0-9]*\\)\\( *[0-9]*\\)$" end t)
(let ((day (match-string 1))
(month (match-string 2))
(year (match-string 3)))
(with-current-buffer (get-buffer-create "day.txt")
(insert day "\n"))
(with-current-buffer (get-buffer-create "month.txt")
(insert month "\n"))
(with-current-buffer (get-buffer-create "year.txt")
(insert year "\n")))))
--
__Pascal Bourguignon__ http://www.informatimago.com/
a) You slighly change the file format, introducing a column
separator. Tab would be convenient, since you can make it look
like a space in emacs. Then you can use that as a field separator
for awk or cut.
b) If you don't have a field separator, your columns are determined by
a range of positions in the line. You can figure them out and give
them as parameters to cut -c.
--
Arnaldo Mandel
Departamento de Ci�ncia da Computa��o - Computer Science Department
Universidade de S�o Paulo, Bra[sz]il
a...@ime.usp.br
Talvez voc� seja um Bright http://the-brights.net Maybe you are a Bright.