UNIX script to replace old date with current date dynamically in multiple files present in a folder
I am trying to work on a script where it is a *(star) delimited file has a multiple lines starts with RTG and 3rd column=TD8 I want to substring the date part and
I want to replace with currentdate minus 15 days. Here is an example. iam using AIX server
for file in *; do
# check if it's a file
if [ ! -f "$file" ]; then
# if not, next entry
continue;
fi
# run the script
while IFS='*' read -r str1 num str2 date; do
if ["$str1" = "DTP"] || ["$str2" = "D8"]; then
curdate=$(date +%Y%m%d)
date="${curdate}-${curdate}~"
fi
printf "%s*%s*%s*%s\n" "$str1" "$num" "$str2" "$date"
done < "$file"
done
Last edited by vgersh99; 05-02-2019 at 10:37 AM..
Reason: code tags, please!
Hi,
I have a requirement where I need to write the current date to the file.
This remaining content of this file does not change and we use this file to concat with another one.
Only thng is that I need to write the date to say, record number 10 of this file everyday.
Can this be done in... (5 Replies)
Hi,
I have a fixed 4 files in each different directory. The total 17 directories are there each one having 4 files inside it. I need rename all of them with current date. The files formates will be as below:
Folder1:
abc_NOR_xyz_ddmmyyyy.txt
abc_NOR_ghij_ddmmyyyy.txt
Folder2:... (5 Replies)
Hi,
Anybody knows how to get what date was 28 days ago of the current system date through UNIX script.
Ex : - If today is 28th Mar 2010 then I have to delete the files which arrived on 1st Mar 2010, (15 Replies)
Hi Guys,
I have a file with following content
From 20121014 : To 20121014
Number of days : 1
1234
1245
1246
1111
Everyday i run my script i want to modify "To" date on the first line with current date. I have set the current date in script as
RUN_DATE=`date -u +%Y%m%d`
So i want... (9 Replies)
Hi All,
I am new in scripting and working in a project where we have RSyslog servers over CentOS v7 and more than 200 network devices are sending logs to each RSyslog servers. For each network devices individual folders create on the name of the each network devices IP addresses.The main... (7 Replies)
current date command runs well
awk -v t="$(date +%Y-%m-%d)" -F "'" '$1 < t' myname.dat
subtract 30 days fails
awk -v t="$(date --date="-30days" +%Y-%m-%d)" -F "'" '$1 < t' myname.dat
awk command in hp unix subtract 30 days automatically from current date without date illegal option error... (20 Replies)
We want to call a parameter file (.txt) where my application read dynamic values when the job is triggered, one of such values are below:
abc.txt
------------------
Code:
line1
line2
line3
$$EDWS_DATE_INSERT=08-27-2019
line4
$$EDWS_PREV_DATE_INSERT=08-26-2019
I am trying to write a... (3 Replies)
Hello All,
we what we call a parameter file (.txt) where my application read dynamic values when the job is triggered, one of such values are below:
abc.txt
------------------
line1
line2
line3
$$EDWS_DATE_INSERT=08-27-2019
line4
$$EDWS_PREV_DATE_INSERT=08-26-2019
I am trying to... (1 Reply)
I Have text like
XXX_20190908.csv.gz need to replace Only date in this format with current date every day
Thanks! (1 Reply)
Discussion started by: yamasani1991
1 Replies
LEARN ABOUT NETBSD
qsubst
QSUBST(1) BSD General Commands Manual QSUBST(1)NAME
qsubst -- query-replace strings in files
SYNOPSIS
qsubst str1 str2 [flags] file [file [...]]
DESCRIPTION
qsubst reads its options (see below) to get a list of files. For each file on this list, it then replaces str1 with str2 wherever possible
in that file, depending on user input (see below). The result is written back onto the original file.
For each potential substitution found, the user is prompted with a few lines before and after the line containing the string to be substi-
tuted. The string itself is displayed using the terminal's standout mode, if any. Then one character is read from the terminal. This is
then interpreted as follows (this is designed to be like Emacs' query-replace-string):
space Replace this occurrence and go on to the next one.
. Replace this occurrence and don't change any more in this file (i.e., go on to the next file).
, Tentatively replace this occurrence. The lines as they would look if the substitution were made are printed out. Then another
character is read and it is used to decide the result as if the tentative replacement had not happened.
n Don't change this one; just go on to the next one.
^G Don't change this one or any others in this file, but instead simply go on to the next file.
! Change the rest in this file without asking, then go on to the next file (at which point qsubst will start asking again).
? Print out the current filename and ask again.
The first two arguments to qsubst are always the string to replace and the string to replace it with. The options are as follows:
-w The search string is considered as a C symbol; it must be bounded by non-symbol characters. This option toggles. ('w'
for 'word'.)
-!
-go
-noask Enter ! mode automatically at the beginning of each file.
-nogo
-ask Negate -go, that is, ask as usual.
-cN (Where N is a number.) Give N lines of context above and below the line with the match when prompting the user.
-CAN (Where N is a number.) Give N lines of context above the line with the match when prompting the user.
-CBN (Where N is a number.) Give N lines of context below the line with the match when prompting the user.
-f filename The filename argument is one of the files qsubst should perform substitutions in.
-F filename qsubst reads filename to get the names of files to perform substitutions in. The names should appear one to a line.
The default amount of context is -c2, that is, two lines above and two lines below the line with the match.
Arguments not beginning with a - sign in the options field are implicitly preceded by -f. Thus, -f is really needed only when the file name
begins with a - sign.
qsubst reads its options in order and processes files as it gets them. This means, for example, that a -go will affect only files named
after the -go.
The most context you can get is ten lines each, above and below.
str1 is limited to 512 characters; there is no limit on the size of str2. Neither one may contain a NUL.
NULs in the file may cause qsubst to make various mistakes.
If any other program modifies the file while qsubst is running, all bets are off.
AUTHORS
der Mouse <mouse@rodents.montreal.qc.ca>
BSD September 4, 1999 BSD