07-30-2008
Here's a more complex challenge (though not an arbitrary one)...
A user has many files with names that are too long, and they must be truncated to n characters, however the first n characters are the same. Can someone post a script that truncates to n-k characters and then counts up with k digits or uses k random characters, so as to avoid overwriting files?
Example:
really-long-filename-a.dat
really-long-filename-b.dat
Would be converted to:
really-long-fi_001.dat
really-long fi_002.dat
or
really-long-fi_vj3.dat
really-long-fi_w4p.dat
Another piece of code that would be very useful (and simpler I imagine) would be something that simply identifies which filenames located within a specified part of the filesystem have names in excess of n characters. Seems like a find piping into grep should do the trick. Some use of the {n,} operator would be involved... never had occasion to get my feet that wet with regexes.
Cheers!
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
what does this command do ? as in
does this command just make sure everything in the file is executed?
or does it flush the file?
Actually this is used on a file in a progress database but I believe it is a unix command? (2 Replies)
Discussion started by: rocker40
2 Replies
2. UNIX for Dummies Questions & Answers
I have AIX5.1
I have been trying to learn how to truncate the /var/adm/wtmp file.
I have seen several things on google actually but don't quite understand. I also searched your forums but couldn't find it.
one says this ">/var/adm/wtmp
Is that all I do?
I have a seperate question also. I was... (1 Reply)
Discussion started by: rocker40
1 Replies
3. Shell Programming and Scripting
Hello everybody it's me again.
I have a procces that is writing in a 'file1' automatically but i want to truncate 'file1' to a filesize 'x' that mean if the 'file1' size is 'x' i want to delete the first lines while the last lines are being writed, that have sence?
in the process are an... (1 Reply)
Discussion started by: Lestat
1 Replies
4. Shell Programming and Scripting
I have one file which first line is blank and second line has some data.
$cat filename
output:
30-MAY-07
I want to store 30-MAY-07 value in one variable.
for that I wrote
var="`head -2 filename`"
It will give that result but I want to truncate the first line which is blank.
plz help. (2 Replies)
Discussion started by: rinku
2 Replies
5. UNIX for Advanced & Expert Users
I have a file in which I need to truncate 15th field to have only one character
like Put --> P
and if i have no value in 15th field, it should be "O" (Other)
would really appreciate the reponses, thnx in advance:b: (2 Replies)
Discussion started by: sannmayaz
2 Replies
6. Shell Programming and Scripting
Hi
In unix able to connect to oracle database and create table ,when rerun ,if table exist ,truncate that table.Any idea how to do that
a.sh
----
sqlplus -s datadmin/password <<EOF
create table xx(col1 number,
col2...
);
exit;
EOF
I... (1 Reply)
Discussion started by: mohan705
1 Replies
7. Shell Programming and Scripting
Hello all.
I would like to make a script (or two shell scripts) that will do the following.
I need the maximum file name and directory name to be 38 characters long.
As well, if shortening the file name ends up making all of the files in that directory have the same name, then I would like... (9 Replies)
Discussion started by: marcozd
9 Replies
8. Shell Programming and Scripting
Hi,
I want to truncate a string variable, returned in the script. In perl I used the below and it worked.
BRNo=BR12345
$BR = substr($BRNo, 2, 7)
How can I do it in sh.
Thanks ! (8 Replies)
Discussion started by: script2010
8 Replies
9. Shell Programming and Scripting
Hello
Using BASH under Ubuntu 10.4 lts + XMonad
My script is almost perfect but i'm stuck at the last hurdle:
I need a sort of modified 'echo' which truncates its output to the width of the terminal
I can find the terminal's width with 'stty size' but i dont know how to then convert input... (2 Replies)
Discussion started by: scyptnex
2 Replies
10. UNIX for Dummies Questions & Answers
hi All,
how to recover the truncate file in unix.
Thanks!:wall: (2 Replies)
Discussion started by: krbala1985
2 Replies
LEARN ABOUT DEBIAN
dbview
DBVIEW(1) Database Management DBVIEW(1)
NAME
dbview - View dBase III files
SYNOPSIS
dbview [-b|--browse] [-d delim| --delimiter delim] [-D|--deleted] [-e|--description] [-h|--help] [-i|--info] [-o|--omit] [-v|--version]
[-r|--reserve] [-t|--trim] dbfile
DESCRIPTION
Dbview is a little tool that will display dBase III files. You can also use it to convert your old .dbf files for further use with Unix.
It should also work with dBase IV files, but this is mostly untested.
By default dbview displays the contents of a dBase III or IV database file. This is be done by displaying both the name of the field
itself and its value. At the end of every record a newline is appended.
OPTIONS
If no option given dbview only displays the database in its most friendly way.
--browse, -b
switches into browse mode. Using this mode no fieldnames will be displayed, instead every record will displayed in one line using a
delimiter to separate fields.
--delimiter, -d delimiter
The default delimiter in browse mode is the colon sign ``:''. This parameter overrides it. This can be useful especially if you
plan to examine the output with scripts.
--deleted, -D
displays deleted records as well as the delete state in each record in the database.
--description, -e
displays the field description of the database.
--help, -h
displays a complete (or short) help screen.
--info, -i
displays some (partially technical) information about the database like number of records and length of each record.
--omit, -o
omits displaying the whole database. Using this parameter can be useful if you're only interested in the structure.
--reserve, -r
Normally fieldnames are converted into a more friendly format. They are stored in capital letters, but that looks like shouting.
This parameter supresses the conversion.
--trim, -t
When this option is specified, leading and trailing spaces are omitted. This might be useful when in browse mode.
--version, -v
displays version and exits.
NOTES
As dBase is DOS, umlauts are stored using a different code table (namely ASCII) than most modern unices (namely ANSI). If you encounter
such a file, I would recommend piping the output through recode(1) with ibmpc:latin1 as it's argument.
If you want to examine the output generated by the browse mode, just take cut(1) and set its delimiter to the used delimiter or take awk(1)
and continue.
COPYRIGHT
Dbview is free software. It is based on routines from unknown source that I found on nic.funet.fi in /pub/msdos/languages/c as dbase.c.
The file contained the following notice:
These functions are provided by Valour Software as a gift.
I have modified and included this file and wrote a skeleton around it. All together provides a powerful tool for dBase III and IV database
manipulation under Unix.
I mainly have written this program, because I've got several dbase files containing important information for me. As I won't go running
DOS everytime I need some of the stored information, I had to find a viewer that runs unter Unix, resp. Linux, but unfortunately didn't
find one. So it was my turn.
This package as a whole is published under the GNU Public License, which is a great invention.
It wasn't the intention to write a freaking viewer and reinvent the wheel again. Instead dbview is intend to be used in conjunction with
your favourite unix text utilities like cut, recode and more.
Martin Schulze
Infodrom Oldenburg
joey@infodrom.north.de
SEE ALSO
recode(1), more(1), awk(1), cut(1).
Unix November 20th, 2006 DBVIEW(1)