简体   繁体   中英

using sed or similar to modify lines in a file

I have a huge file composed of the following:

this is text

1234.1234567

this is another text

1234.1234567

and so on

I would like to transfer it to:

this is text:1234.1234567

this is another text:1234.1234567

is this possible using sed? or any other similar command?

Thanks

If you just want to join lines using : as separator, you could use paste :

paste -d : - - < file.txt

Or using awk :

awk -v sep=: '{ if (NR % 2 == 0) { print prev sep $0 } else prev = $0 }' file.txt

If you have lines containing just alphabets and other containing floating point numbers, you can do the following:

awk '/[a-zA-Z]+/ {printf "%s:", $0}
     /[0-9.]+/ {print $0}' data

data is the filename. You can redirect the output to another file.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM