Sponsored Content
Top Forums Shell Programming and Scripting change the format of a giving file ( a bit challenge) Thank you Post 302148817 by netbanker on Monday 3rd of December 2007 08:37:33 PM
Old 12-03-2007
change the format of a giving file ( a bit challenge) Thank you

Hi,

I have a file like this:

mgr1.dbf
tool.dbf
usr.dbf
wow19.dbf
wow2wow.dbf

Can anyone help change the format after each line of reading to:

mgr2.dbf # add 1 of *1.dbf
tool2.dbf # if not a number exist, make it default to 2
usr2.dbf
wow20.dbf # add 1 of *19.dbf
wow3wow.dbf # add 1 of *1*.dbf

thank you for the help!
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Change format to file II

hi all... i have a big problem, and i hope someone can help me... i have a flat file, and its columns are separated by comma (CSV), something like this: 78 , 204R180 , 90/100 , 200001 , 12 ,200002 ,13 ..... 78 , 204R180 , 90/100 , 200001 , 29 ,200002 ,30 ..... 78 , 204R180 , 90/100 ,... (0 Replies)
Discussion started by: DebianJ
0 Replies

2. HP-UX

Change 32 bit to 64 bit Kernel

Hi, I'm using HPUX 11.11 on Vizualize B180L our productive machines have 64 bit kernel # file vmunix vmunix: ELF-64 executable object file - PA-RISC 2.0 (LP64) I got one test system, which should have the same HW (i was told it is the same HW) hpuxtest:/stand-->file... (3 Replies)
Discussion started by: funksen
3 Replies

3. Shell Programming and Scripting

Change file format

Hi I have a file in the following format I have to convert this into four files , in the format as below. Data under Process SFA SUccess Section gets into file Named SFA_SUCCESS inthe following format ctr1,120 ctr2,1785 Data under Process SFA FAil gets into file Named SFA_Fail inthe... (2 Replies)
Discussion started by: sapics
2 Replies

4. Shell Programming and Scripting

Giving format to a file

hi all, i have a big problem and i don't know what to do. This is the thing: i have a flat file with 26 fields, which are separated by ';' by example, i have this: Peter;Smith;2005;200508; ......... if the lengths of the fields are: field 1: Alphanumeric - field 2: Alphanumeric - field... (4 Replies)
Discussion started by: DebianJ
4 Replies

5. Shell Programming and Scripting

To Change the file format Pls Help!!!

Hi All, I have a file like john::208:johnson john::208:mery john::208:test admin:*:1:johnson admin:*:1:test and wanna convert this as john::208:johnson,mery,test admin:*:1:johnson,test please help me to create a script for this thanks in advance John (4 Replies)
Discussion started by: johnsonpk
4 Replies

6. Shell Programming and Scripting

switch format between 64 bit double and 64 bit integer

In order to perform some arithmetical operations on 64 bit double I need to transform of the binary representation of a 64 bit double to a 64 bit integer do the operations and then transform back to 64 bit double. I understand bash and bc doesn't allow to do that. I think my only tool left is... (2 Replies)
Discussion started by: Zephyr
2 Replies

7. Shell Programming and Scripting

How to change date format in file

Hello! I have a textfile that look like this: "83d1:46:2b";"20091008190000";"Rögle BK - Skellefteå";"Swedish" "d4c:46:21";"20091008190000";"Södertälje - Brynäs";"Swedish" "d4b:46:2";"20091008190000";"HV 71 - Färjestad";"Swedish" "838:46:b";"20091010160000";"Skellefteå - HV 71";"Swedish"... (2 Replies)
Discussion started by: condmaster
2 Replies

8. Shell Programming and Scripting

howto change format of file?

Hi I have a file with this inside: How can I change it to: thanks a lot regards Israel. (3 Replies)
Discussion started by: iga3725
3 Replies

9. Shell Programming and Scripting

Challenge to change file names

Hi, How can I change following file name in a bash script? From file names: myfile-module-1.0-3.0.el6.x86_64.package To file names: myfile-module1_0-1.0-3.0.el6.x86_64.package ^ ^ ^ ^ ^ ^ ^ ^ Basically, the digit 1.0 is a version number, the digit 3.0 is... (11 Replies)
Discussion started by: hce
11 Replies

10. Shell Programming and Scripting

Change the file format

gpio_rw = gpiochip162 audio_aplay = HDMI_0 audio_aplay = HDMI_1 audio_aplay = HDMI_2 graphic_xrandr_show = USB1 graphic_xrandr_show = USB2 graphic_xrandr_show = USB3 graphic_change_resolution = eDP1 gpio_rw = "gpiochip162" audio_aplay = "HDMI_0 HDMI_1 HDMI_2" graphic_xrandr_show =... (3 Replies)
Discussion started by: yanglei_fage
3 Replies
HOVEL(3)						      Quick Database Manager							  HOVEL(3)

NAME
Hovel - the GDBM-compatible API of QDBM SYNOPSIS
#include <hovel.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> typedef struct { char *dptr; size_t dsize; } datum; extern char *gdbm_version; extern gdbm_error gdbm_errno; char *gdbm_strerror(gdbm_error gdbmerrno); GDBM_FILE gdbm_open(char *name, int block_size, int read_write, int mode, void (*fatal_func)(void)); GDBM_FILE gdbm_open2(char *name, int read_write, int mode, int bnum, int dnum, int align); void gdbm_close(GDBM_FILE dbf); int gdbm_store(GDBM_FILE dbf, datum key, datum content, int flag); int gdbm_delete(GDBM_FILE dbf, datum key); datum gdbm_fetch(GDBM_FILE dbf, datum key); int gdbm_exists(GDBM_FILE dbf, datum key); datum gdbm_firstkey(GDBM_FILE dbf); datum gdbm_nextkey(GDBM_FILE dbf, datum key); void gdbm_sync(GDBM_FILE dbf); int gdbm_reorganize(GDBM_FILE dbf); int gdbm_fdesc(GDBM_FILE dbf); int gdbm_setopt(GDBM_FILE dbf, int option, int *value, int size); DESCRIPTION
Hovel is the API which is compatible with GDBM. So, Hovel wraps functions of Depot and Curia as API of GDBM. It is easy to port an appli- cation from GDBM to QDBM. In most cases, you should only replace the includings of `gdbm.h' with `hovel.h' and replace the linking option `-lgdbm' with `-lqdbm'. Hovel cannot handle database files made by the original GDBM. In order to use Hovel, you should include `hovel.h', `stdlib.h', `sys/types.h' and `sys/stat.h' in the source files. Usually, the follow- ing description will be near the beginning of a source file. #include <hovel.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> An object of `GDBM_FILE' is used as a database handle. A database handle is opened with the function `gdbm_open' and closed with `gdbm_close'. You should not refer directly to any member of a handle. Although Hovel works as a wrapper of Depot and handles a database file usually, if you use the function `gdbm_open2' to open the handle, it is possible to make behavior of a handle as a wrapper of Curia and treat a database directory. Structures of `datum' type is used in order to give and receive data of keys and values with functions of Hovel. typedef struct { char *dptr; size_t dsize; } datum; `dptr' specifies the pointer to the region of a key or a value. `dsize' specifies the size of the region. The external variable `gdbm_version' is the string containing the version information. extern char *gdbm_version; The external variable `gdbm_errno' is assigned with the last happened error code. Refer to `hovel.h' for details of the error codes. extern gdbm_error gdbm_errno; The initial value of this variable is `GDBM_NO_ERROR'. The other values are `GDBM_MALLOC_ERROR', `GDBM_BLOCK_SIZE_ERROR', `GDBM_FILE_OPEN_ERROR', `GDBM_FILE_WRITE_ERROR', `GDBM_FILE_SEEK_ERROR', `GDBM_FILE_READ_ERROR', `GDBM_BAD_MAGIC_NUMBER', `GDBM_EMPTY_DATABASE', `GDBM_CANT_BE_READER', `GDBM_CANT_BE_WRITER', `GDBM_READER_CANT_DELETE', `GDBM_READER_CANT_STORE', `GDBM_READER_CANT_REORGANIZE', `GDBM_UNKNOWN_UPDATE', `GDBM_ITEM_NOT_FOUND', `GDBM_REORGANIZE_FAILED', `GDBM_CANNOT_REPLACE', `GDBM_ILLEGAL_DATA', `GDBM_OPT_ALREADY_SET', and `GDBM_OPT_ILLEGAL'. The function `gdbm_strerror' is used in order to get a message string corresponding to an error code. char *gdbm_strerror(gdbm_error gdbmerrno); `gdbmerrno' specifies an error code. The return value is the message string of the error code. The region of the return value is not writable. The function `gdbm_open' is used in order to get a database handle after the fashion of GDBM. GDBM_FILE gdbm_open(char *name, int block_size, int read_write, int mode, void (*fatal_func)(void)); `name' specifies the name of a database. `block_size' is ignored. `read_write' specifies the connection mode: `GDBM_READER' as a reader, `GDBM_WRITER', `GDBM_WRCREAT' and `GDBM_NEWDB' as a writer. `GDBM_WRCREAT' makes a database file or directory if it does not exist. `GDBM_NEWDB' makes a new database even if it exists. You can add the following to writer modes by bitwise or: `GDBM_SYNC', `GDBM_NOLOCK', `GDBM_LOCKNB', `GDBM_FAST', and `GDBM_SPARSE'. `GDBM_SYNC' means a database is synchronized after every updating method. `GDBM_NOLOCK' means a database is opened without file locking. `GDBM_LOCKNB' means file locking is performed without blocking. `GDBM_FAST' is ignored. `GDBM_SPARSE' is an original mode of QDBM and makes database a sparse file. `mode' specifies mode of a database file as the one of `open' call does. `fatal_func' is ignored. The return value is the database handle or `NULL' if it is not successful. The function `gdbm_open2' is used in order to get a database handle after the fashion of QDBM. GDBM_FILE gdbm_open2(char *name, int read_write, int mode, int bnum, int dnum, int align); `name' specifies the name of a database. `read_write' specifies the connection mode: `GDBM_READER' as a reader, `GDBM_WRITER', `GDBM_WRCREAT' and `GDBM_NEWDB' as a writer. `GDBM_WRCREAT' makes a database file or directory if it does not exist. `GDBM_NEWDB' makes a new database even if it exists. You can add the following to writer modes by bitwise or: `GDBM_SYNC', `GDBM_NOLOCK', `GDBM_LOCKNB', `GDBM_FAST', and `GDBM_SPARSE'. `GDBM_SYNC' means a database is synchronized after every updating method. `GDBM_NOLOCK' means a database is opened without file locking. `GDBM_LOCKNB' means file locking is performed without blocking. `GDBM_FAST' is ignored. `GDBM_SPARSE' is an original mode of QDBM and makes database sparse files. `mode' specifies a mode of a database file or a database directory as the one of `open' or `mkdir' call does. `bnum' specifies the number of elements of each bucket array. If it is not more than 0, the default value is specified. `dnum' specifies the number of division of the database. If it is not more than 0, the returning handle is created as a wrapper of Depot, else, it is as a wrapper of Curia. `align' speci- fies the basic size of alignment. The return value is the database handle or `NULL' if it is not successful. If the database already exists, whether it is one of Depot or Curia is measured automatically. The function `gdbm_close' is used in order to close a database handle. void gdbm_close(GDBM_FILE dbf); `dbf' specifies a database handle. Because the region of the closed handle is released, it becomes impossible to use the handle. The function `gdbm_store' is used in order to store a record. int gdbm_store(GDBM_FILE dbf, datum key, datum content, int flag); `dbf' specifies a database handle connected as a writer. `key' specifies a structure of a key. `content' specifies a structure of a value. `flag' specifies behavior when the key overlaps, by the following values: `GDBM_REPLACE', which means the specified value overwrites the existing one, `GDBM_INSERT', which means the existing value is kept. The return value is 0 if it is successful, 1 if it gives up because of overlaps of the key, -1 if other error occurs. The function `gdbm_delete' is used in order to delete a record. int gdbm_delete(GDBM_FILE dbf, datum key); `dbf' specifies a database handle connected as a writer. `key' specifies a structure of a key. The return value is 0 if it is suc- cessful, -1 if some errors occur. The function `gdbm_fetch' is used in order to retrieve a record. datum gdbm_fetch(GDBM_FILE dbf, datum key); `dbf' specifies a database handle. `key' specifies a structure of a key. The return value is a structure of the result. If a record corresponds, the member `dptr' of the structure is the pointer to the region of the value. If no record corresponds or some errors occur, `dptr' is `NULL'. Because the region pointed to by `dptr' is allocated with the `malloc' call, it should be released with the `free' call if it is no longer in use. The function `gdbm_exists' is used in order to check whether a record exists or not. int gdbm_exists(GDBM_FILE dbf, datum key); `dbf' specifies a database handle. `key' specifies a structure of a key. The return value is true if a record corresponds and no error occurs, or false, else, it is false. The function `gdbm_firstkey' is used in order to get the first key of a database. datum gdbm_firstkey(GDBM_FILE dbf); `dbf' specifies a database handle. The return value is a structure of the result. If a record corresponds, the member `dptr' of the structure is the pointer to the region of the first key. If no record corresponds or some errors occur, `dptr' is `NULL'. Because the region pointed to by `dptr' is allocated with the `malloc' call, it should be released with the `free' call if it is no longer in use. The function `gdbm_nextkey' is used in order to get the next key of a database. datum gdbm_nextkey(GDBM_FILE dbf, datum key); `dbf' specifies a database handle. The return value is a structure of the result. If a record corresponds, the member `dptr' of the structure is the pointer to the region of the next key. If no record corresponds or some errors occur, `dptr' is `NULL'. Because the region pointed to by `dptr' is allocated with the `malloc' call, it should be released with the `free' call if it is no longer in use. The function `gdbm_sync' is used in order to synchronize updating contents with the file and the device. void gdbm_sync(GDBM_FILE dbf); `dbf' specifies a database handle connected as a writer. The function `gdbm_reorganize' is used in order to reorganize a database. int gdbm_reorganize(GDBM_FILE dbf); `dbf' specifies a database handle connected as a writer. If successful, the return value is 0, else -1. The function `gdbm_fdesc' is used in order to get the file descriptor of a database file. int gdbm_fdesc(GDBM_FILE dbf); `dbf' specifies a database handle connected as a writer. The return value is the file descriptor of the database file. If the database is a directory the return value is -1. The function `gdbm_setopt' has no effect. int gdbm_setopt(GDBM_FILE dbf, int option, int *value, int size); `dbf' specifies a database handle. `option' is ignored. `size' is ignored. The return value is 0. The function is only for com- patibility. If QDBM was built with POSIX thread enabled, the global variable `gdbm_errno' is treated as thread specific data, and functions of Hovel are reentrant. In that case, they are thread-safe as long as a handle is not accessed by threads at the same time, on the assumption that `errno', `malloc', and so on are thread-safe. SEE ALSO
qdbm(3), depot(3), curia(3), relic(3), cabin(3), villa(3), odeum(3), ndbm(3), gdbm(3) Man Page 2004-04-22 HOVEL(3)
All times are GMT -4. The time now is 05:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy