06-17-2012
Hi, Scrutinizer.
Quote:
Originally Posted by
Scrutinizer
It seems to me any solution should always make use a temporary intermediate file for safety reasons. If we read the whole file into memory and then write it back to the same file, we run the risk of losing the original in case of power failure during the write-back phase..
With a temporary file there is only mv involved, which is only a rename if the temporary file is in the same dir on the same file system, so a temporary file in the same directory instead of /tmp for example may be preferably. If we use /tmp for example for the intermediate file, a temporary rename to .bak of the original until the move from /tmp may be required and safest will probably be to keep the .bak until the user deletes it..
When was the last time you know that that happened to
anyone? Most important *nix boxes will be backed up with a UPS. I think it is
far more likely to fall prey to plain old
user error.
However, I sometimes allow myself the luxury of following:
Quote:
"Unix was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things." - Doug Gwyn
--
Unix philosophy - Wikipedia, the free encyclopedia
Best wishes ... cheers, drl
10 More Discussions You Might Find Interesting
1. Solaris
Hi experts,
in my solaris 9 the file- /var/adm/messeages growin too first. by 24 hours 40MB. And always giving the below messages--
bash-2.05# tail -f messages
Nov 9 16:35:38 ME1 last message repeated 1 time
Nov 9 16:35:38 ME1 ftpd: wtmpx /var/adm/wtmpx No such file or directory
Nov 9... (7 Replies)
Discussion started by: thepurple
7 Replies
2. Solaris
I have a file with 28,00,000 lines of rows in this the first 80 lines will be chunks .
I want to delete the chunks of 80 lines. I tried tail -f2799920 filename.
is there any efficient way to do this.
Thanks in advance. (7 Replies)
Discussion started by: salaathi
7 Replies
3. Shell Programming and Scripting
Input:
a
b
b
c
d
d
I need:
a
c
I know how to get this (the lines that have duplicates) :
b
d
sort file | uniq -d
But i need opossite of this. I have searched the forum and other places as well, but have found solution for everything except this variant of the problem. (3 Replies)
Discussion started by: necroman08
3 Replies
4. Shell Programming and Scripting
I have a command which prints #lines after and before the search string in the huge file
nawk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r;print;c=a}b{r=$0}' b=0 a=10 s="STRING1" FILE
The file is 5 gig big.
It works great and prints 10 lines after the lines which contains search string in... (8 Replies)
Discussion started by: prash184u
8 Replies
5. Shell Programming and Scripting
Hi,
I have a big (2.7 GB) text file. Each lines has '|' saperator to saperate each columns.
I want to delete those lines which has text like '|0|0|0|0|0'
I tried:
sed '/|0|0|0|0|0/d' test.txt
Unfortunately, it scans the file but does nothing.
file content sample:... (4 Replies)
Discussion started by: dipeshvshah
4 Replies
6. UNIX for Advanced & Expert Users
Hi All,
I have a very huge file (4GB) which has duplicate lines. I want to delete duplicate lines leaving unique lines. Sort, uniq, awk '!x++' are not working as its running out of buffer space.
I dont know if this works : I want to read each line of the File in a For Loop, and want to... (16 Replies)
Discussion started by: krishnix
16 Replies
7. Shell Programming and Scripting
Hi all,
I have a big file (about 6 millions rows) and I have to delete same occurrences, stored in a small file (about 9000 rews). I have tried this:
while read line
do
grep -v $line big_file > ok_file.tmp
mv ok_file.tmp big_file
done < small_file
It works, but is very slow.
How... (2 Replies)
Discussion started by: Tibbeche
2 Replies
8. UNIX for Dummies Questions & Answers
Hi,
To load a big file in a table,I have a make sure that all rows in the file has same number of the columns .
So in my file if I am getting any rows which have columns not equal to 6 , I need to delete it . Delimiter is space and columns are optionally enclosed by "".
This can be ... (1 Reply)
Discussion started by: hemantraijain
1 Replies
9. Shell Programming and Scripting
Hi All,
I am trying to get some lines from a file i did it with while-do-loop. since the files are huge it is taking much time. now i want to make it faster.
The requirement is the file will be having 1 million lines.
The format is like below.
##transaction, , , ,blah, blah... (38 Replies)
Discussion started by: mad man
38 Replies
10. UNIX for Beginners Questions & Answers
Dear all,
I have stuck with this problem for some days.
I have a very big file, this file can not open by vi command.
There are 200 loops in this file, in each loop will have one line like this:
GWA quasiparticle energy with Z factor (eV)
And I need 98 lines next after this line.
Is... (6 Replies)
Discussion started by: phamnu
6 Replies
LEARN ABOUT REDHAT
dbs-edit-patch
DBS-EDIT-PATCH(1) Debian Build System DBS-EDIT-PATCH(1)
NAME
dbs-edit-patch - Edit a DBS patch
SYNOPSIS
dbs-edit-patch [options] patch
dbs-edit-patch -h|--help
DESCRIPTION
dbs-edit-patch is script to generate or modify patches for Debian source-packages in DBS format.
WARNING
dbs is deprecated, please switch to the `3.0 (quilt)' Debian source package format instead. See http://wiki.debian.org/Projects/Deb-
Src3.0#FAQ for a short guide how to do it.
OPTIONS
-h, --help
Show summary of options.
-t dir, --tmpdir=dir
Directory for the temporary files, default is /tmp or if set $TMP.
-s dir, --sourcedir=dir
Top level directory of the debian-package source-tree, default is the present working directory.
-P dir, --sourcepatchdir=dir
Directory containing upstream patches.
-T dir, --sourcetardir=dir
Directory containing the upstream tarball.
-p level, --strip=level
Striplevel -p of patch (Option -p of diff(1)), accepted values are 0 and 1, default is 0.
ENVIRONMENT VARIABLES
TMP Sets the directory for the temporary files, can be overridden with -t dir.
debian/vars
dbs-edit-patch will automatically use variables defined in the optional debian/vars file.
When a file debian/vars.in exists and debian/vars either does not exist or is older than any of the following files: debian/vars.in,
debian/changelog, debian/rules or debian/control, then dbs-edit-patch will try updating the vars file by running the following command
make -f debian/rules -W debian/vars.in debian/vars
EXAMPLES
Edit the 021_debian patch of Heimdal:
~/heimdal-0.3d> dbs-edit-patch -t/tmp 021_debian
Extracting source heimdal-0.3d.tar.gz ... successful.
Applying patch 001_replay ... successful.
etc.
Copying heimdal-0.3d to heimdal-0.3d-old ... successful.
Applying patch 021_debian ... successful.
Edit files under /tmp/021_debian/heimdal-0.3d as required, then put a short description into /tmp/021_debian/patch-description if desired,
and finally execute /tmp/021_debian/dbs-update-patch to save the results.
Technical note: dbs-edit-patch extracts all patches before 021_debian into /tmp/021_debian/heimdal-0.3d, copies the result to
/tmp/021_debian/heimdal-0.3d-old, and applies the last patch 021_debian (if it exists). Also, it creates a shell script which will create
the diff between the old and new directories:
~/heimdal-0.3d> ls -la /tmp/021_debian
total 12
-rwxr-xr-x 1 bam users 112 Jan 31 13:31 dbs-update-patch*
-rw-r--r-- 1 bam users 0 Jan 31 13:31 patch-description
drwxr-xr-x 14 bam users 4096 Jan 31 13:31 heimdal-0.3d/
drwxr-xr-x 14 bam users 4096 Jan 31 13:31 heimdal-0.3d-old/
drwxr-xr-x 5 bam users 4096 Jan 31 13:31 .stampdir/
~/heimdal-0.3d> cat /tmp/021_debian/dbs-update-patch
#!/bin/sh -e
cd "/tmp/021_debian"
HOOK_DIR="/usr/src/heimdal/debian/dbs-hooks"
test -d "$HOOK_DIR" && run-parts "$HOOK_DIR" --arg update-patch-prediff
find -name "*.bak" -print0 | xargs -0 --no-run-if-empty rm
find -name "*~" -print0 | xargs -0 --no-run-if-empty rm
: > new_patch
test ! -e patch-description || cp patch-description new_patch
diff -ruN heimdal-0.3d-old heimdal-0.3d >> new_patch || test $? -eq 1
mv new_patch /usr/src/heimdal/debian/patches/021_debian
test -d "$HOOK_DIR" && run-parts "$HOOK_DIR" --arg update-patch-postdiff
SEE ALSO
diff(1), dbs(7), /usr/share/doc/dbs/
AUTHOR
DBS was written by Adam Heath, modified by Ben Collins, modified and packaged for Debian by Brian May. This manpage was generated by
Andreas Metzler and modified by Robert Luberda.
Debian February 15th, 2011 DBS-EDIT-PATCH(1)