Sponsored Content
Top Forums Shell Programming and Scripting Ksh: Read line parse characters into variable and remove the line if the date is older than 50 days Post 302976764 by Aia on Tuesday 5th of July 2016 11:24:54 PM
Old 07-06-2016
Save as beyondfifty.pl
Code:
#!/usr/bin/perl
use strict;
use warnings;
use Time::Local;
use File::Copy qw(move);

my $locked = "lockedusers.txt";
my $keep = "$locked.tmp";

my $fifty_days_ago = 86400 * 50;
my $now = time;

open my $in, '<', $locked  or die;
open my $out, '>', $keep or die;
while(<$in>) {
    my ($user, $day, $month, $year) = /(\w+)_(\d{2})(\d{2})(\d{4})/;
    my $time_ago = timelocal(0, 0, 0, $day, $month-1, $year-1900);
    ($now - $time_ago) > $fifty_days_ago ? print "$user\n" : print $out $_;
}
close $in;
close $out;
move $locked, $locked . ".bk" and move $keep, $locked;

Run as:
Code:
perl beyondfifty.pl | while read user; do echo "db command to delete $user"; done

Output:
Code:
db command to delete TEST2
db command to delete TEST3
db command to delete TEST4

Substitute the echo "db command to delete" for your own database command. It removes the matched entries. It creates a backup lockedusers.txt.bk

Last edited by Aia; 07-06-2016 at 01:22 AM..
This User Gave Thanks to Aia For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

SED help (remove line::parse again::add line)

Aloha! I have just over 1k of users that have permissions that they shouldn't under our system. I need to parse a provided list of usernames, check their permissions file, and strip the permissions that they are not allowed to have. If upon the permissions strip they are left with no permissions,... (6 Replies)
Discussion started by: Malumake
6 Replies

2. Shell Programming and Scripting

sed remove last 10 characters of a line start from 3rd line

hello experts, I need a sed command that remove last 10 characters of a line start from 3rd line. any suggestions? Thanks you (7 Replies)
Discussion started by: minifish
7 Replies

3. Shell Programming and Scripting

read a file line by line in ksh

Hi, In ksh we use 'while read line' statement to read a file line by line. In my input file I have 5 spaces appended at the end of each line. When I use while read line statement it chops off the spaces at the end of each line Inp.txt aaaa<five spaces> bbbb<five spaces> cccc<five spaces> ... (3 Replies)
Discussion started by: chella
3 Replies

4. Shell Programming and Scripting

How to read a file line by line and store it in a variable to execute a program ?

Hello, I am quite new in shell scripting and I would like to write a little scritp to run a program on some parameters files. all my parameters files are in the same directory, so pick them up with ls *.para >>dirafter that I have a dir file like that: param1.para param2.para etc... I... (2 Replies)
Discussion started by: shadok
2 Replies

5. UNIX for Dummies Questions & Answers

Parsing file, reading each line to variable, evaluating date/time stamp of each line

So, the beginning of my script will cat & grep a file with the output directed to a new file. The data I have in this file needs to be parsed, read and evaluated. Basically, I need to identify the latest date/time stamp and then calculate whether or not it is within 15 minutes of the current... (1 Reply)
Discussion started by: hynesward
1 Replies

6. Shell Programming and Scripting

Remove files older than 2 days.

Hi All, I am new to the scripting and using solaris 10 OS. Please suggest me from the below script which modifications need to be done to delete the files more that 2days older. Current script is deleting existing file. # Remove old explorer runs if needed DIR=`dirname ${EXP_TARGET}` if ... (2 Replies)
Discussion started by: Navkreddy
2 Replies

7. Shell Programming and Scripting

How to read a two files, line by line in UNIX script and how to assign shell variable to awk ..?

Input are file and file1 file contains store.bal product.bal category.bal admin.bal file1 contains flip.store.bal ::FFFF:BADC:CD28,::FFFF:558E:11C5,6,8,2,1,::FFFF:81C8:CA8B,::FFFF:BADC:CD28,1,0,0,0,::FFFF:81C8:11C5,2,1,0,0,::FFFF:81DC:3111,1,0,1,0 store.bal.... (2 Replies)
Discussion started by: veeruasu
2 Replies

8. Shell Programming and Scripting

Remove lines older than 30 days

Hi Experts/Gurus, Is there a way to remove lines in a file that are older than x days (i.e. 30 days) based on the date stamp in the first column? Example. $ date Sat Jan 11 14:12:06 EDT 2014 $cat sample.txt 10-10-2013 09:00:01 AM|Line test 1234567 16-10-2013 08:30:00 AM|Line test... (6 Replies)
Discussion started by: brichigo
6 Replies

9. UNIX for Beginners Questions & Answers

Subscribers with Date 90 days older than current date

I have to display only those subscribers which are in "unconnected state" and the date is 90 days older than today's date. Below command is used for this purpose: cat vfsubscriber_20170817.csv | sed -e 's/^"//' -e '1d' | nawk -F '",' '{if ( (substr($11,2,4) == 2017) && ( substr($11,2,8) -lt... (1 Reply)
Discussion started by: dia
1 Replies

10. Shell Programming and Scripting

How to read the output of a command line by line and pass it as a variable?

Hi, I have some 2000 names in a table like below. Java Oracle/SQL ANSI SQL SQL,DWH,DB DB&Java And by using for loop in my code i am able to get a single word but if there is any special character or space then it is considering as a next line. I have to execute the below queries in... (10 Replies)
Discussion started by: Samah
10 Replies
BEAV(1) 						      General Commands Manual							   BEAV(1)

NAME
beav - binary file editor and viewer SYNOPSIS
beav [file...] DESCRIPTION
This is a brief description of the minimal set of commands that are necessary to start using beav effectively. For more information, review the file /usr/share/doc/beav/beav140.txt.gz. The file-visit command, Ctl-X Ctl-V, can be used to read a file in for editing. The file can also be read in from the command line; beav <edit_file>. Data is displayed in one or more windows. These commands can be used to navigate around the windows. move-back-char Ctl-B moves left move-back-line Ctl-P moves up move-forw-char Ctl-F moves right move-forw-line Ctl-N moves down window-delete Ctl-X 0 delete window window-expand Ctl-X 1 expand window The move-to-byte command, Ctl-X G, will prompt you for a byte position to move to. These commands will insert a zero byte at the cursor position or delete the byte at that position. insert-unit Ctl-X I delete-forw-unit Esc D The file-save command, Ctl-X Ctl-S, will save the data to the file if a change has been made. The help command, Esc ?, will display a list of all commands and their current key bindings. The abort-cmd command, Ctl-G, will abort any command that is in operation. The quit-no-save command, Ctl-X Ctl-C, will exit beav. If there is any data that has not been saved you will be warned. FILES
/usr/share/doc/beav/beav140.txt.gz BEAV(1)
All times are GMT -4. The time now is 06:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy