Sponsored Content
Homework and Emergencies Homework & Coursework Questions How to use xargs to repeat as a loop to grab date string? Post 302926943 by junior-helper on Friday 28th of November 2014 06:14:46 PM
Old 11-28-2014
Quote:
> I have tried the approach to grep the date of the last line
You don't need to cat the whole file to get the last line. Try
Code:
tail -n1 /etc/httpd/logs/access_log | cut -d' ' -f4

It will retrieve only the very last line and apply the cut command to it.

Quote:
> and I have problem of getting rid of the square bracket.
> How do I remove the square bracket from most left?
You could simply add | cut -c2- to the above command. It will cut from the second character on until the end of the line, thus removing the square bracket.

In a loop, the above really should be done by making use of bash's built-ins for better performance.

Code:
       ${parameter#word}
       ${parameter##word}
              Remove matching prefix pattern.

       ${parameter%word}
       ${parameter%%word}
              Remove matching suffix pattern.

Example:
Code:
$ dat=$(tail -n1 access.log)
$ echo "$dat"
127.0.0.1 - - [24/Nov/2014:07:13:55 -0800] "GET /something.php HTTP/1.1" 200 315 "-" "Foo browser/1.0 (<some operating system>) <some user agent>"
$ #remove everything up to the first square bracket
$ dat="${dat#*\[}"
$ echo "$dat"
24/Nov/2014:07:13:55 -0800] "GET /something.php HTTP/1.1" 200 315 "-" "Foo browser/1.0 (<some operating system>) <some user agent>"
$ #remove everything from the first space until the end of string/line
$ dat="${dat%% *}"
$ echo "$dat"
24/Nov/2014:07:13:55
$

Quote:
> I think I can use date "14 days ago" to set a stop point
Yes, you can. Consult this wiki page for the exact strftime format (https://en.wikipedia.org/wiki/Common_Log_Format), but I'm not sure how you plan to do the (exact) comparison.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

String substitution on find results inside exec/xargs

What I'm trying to do is perform a copy, well a ditto actually, on the results of a find command, but some inline string substitution needs to happen. So if I run this code find ./ -name "*.tif" I get back these results. .//1234567.tif .//abcdefg.tif Now the action from exec or xargs I... (2 Replies)
Discussion started by: myndcraft
2 Replies

2. Shell Programming and Scripting

case loop... repeat on bad input?

I'm trying to get a case statement to start over if an undefined option is selected... But I am ata loss on how to actually do it. Here is a quick example of what I have. Echo "1) do this/n 2) Do that/n 3) Quit/n Make a selection/n" Read answer Case answer in 1) Dothid;; 2) Dothat;;... (3 Replies)
Discussion started by: trey85stang
3 Replies

3. Homework & Coursework Questions

Date comparison with 'string date having slashes and time zone' in Bash only

1. The problem statement, all variables and given/known data: I have standard web server log file. It contains different columns (like IP address, request result code, request type etc) including a date column with the format . I have developed a log analysis command line utility that displays... (1 Reply)
Discussion started by: TariqYousaf
1 Replies

4. Shell Programming and Scripting

Grab first or second line after a search string

In a shell script, I need to grab the first or second line after a search string in a file. For example: File.out: Random Info Manufacturer: XYZPDQ System Info Manufacturer: Hewlett-Packard Product Name: ProLiant I search for the word FILE, I want to be able to grab the line... (1 Reply)
Discussion started by: jwk1230
1 Replies

5. Shell Programming and Scripting

Matching 2 chars of a string that repeat

Hello Unix gurus, I have a gzipped file where each line contains 2 street addresses in the US. What I want to do is get a count for each state that does not match. What I have so far is: $ gzcat matched_10_09.txt.gz |cut -c 106-107,184-185 | head -5 CTCT CTNY CTCT CTFL CTMA This cuts... (5 Replies)
Discussion started by: sitney
5 Replies

6. Shell Programming and Scripting

Repeat using for loop

I have a file like this 2011-10-10 10:46:00,1-1-13-1-1,151510,ALCLA0A84D2C 2011-10-10 10:46:00,1-1-13-1-1,151520,65537 2011-10-10 10:46:00,1-1-13-1-1,151515,46932 2011-10-10 10:46:00,1-1-13-1-1,151521,32769 2011-10-10 10:46:00,1-1-13-1-1,151522,32769 2011-10-10... (4 Replies)
Discussion started by: LavanyaP
4 Replies

7. Shell Programming and Scripting

Replace string, grab files, rename and move

Hello there! I'm having a lot of trouble writing a script. The script is supposed to: 1) Find all files with the name "Object.mtl" within each folder in the directory: /Users/username/Desktop/convert/Objects 2) Search and replace the string ".bmp" with ".tif" (without the quotations) 3)... (1 Reply)
Discussion started by: Blue Solo
1 Replies

8. Homework & Coursework Questions

How to use loop to repeat task?

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. How can i use loop to repeat task. 2.shirt=15 black=13.50 echo "how many shirt you want" read num echo echo "Please enter a choice" echo "1 ---> normal... (5 Replies)
Discussion started by: Tauatioti
5 Replies

9. Shell Programming and Scripting

Single parse to grab two chunks of string

Hi all, I'm struggling with this task and have done alot of googling but not found the solution or atleast not found a way to combine them, i'm hoping someone here can help me out. I have a file that contains many line of config "below is two lines for an example" 323 => 1111,Terry berry... (3 Replies)
Discussion started by: 3sparky
3 Replies

10. Shell Programming and Scripting

Perl to adjust coordinates based on repeat string

In the file below I am trying to count the given repeats of A,T,C,G in each string of letters. Each sequence is below the > and it is possible for a string of repeats to wrap from the line above. For example, in the first line the last letter is a T and the next lines has 3 more. I think the below... (10 Replies)
Discussion started by: cmccabe
10 Replies
datadm(1M)																datadm(1M)

NAME
datadm - maintain DAT static registry file SYNOPSIS
/usr/bin/datadm [-v] [-u] [-a service_provider.conf] [-r service_provider.conf] The datadm utility maintains the DAT static registry file, dat.conf(4). This administrative configuration program allows uDAPL service providers to add and remove themselves to the dat.conf file. You can add or remove interface adapters that a service provider supports from a system after its installation. You can use datadm to update the dat.conf file to reflect the current state of the system. A new set of interface adapters for all the service providers cur- rently installed is regenerated. The following options are supported: -a service_provider.conf Enumerate each device entry in the service_provider.conf(4) file into a list of interface adapters, that is, interfaces to external network that are available to uDAPL consumers. -r service_provider.conf Remove the list of interface adapters that corresponds to the device entry in the service_provider.conf(4) file. -u Update the dat.conf to reflect the current state of the system with an up to date set of interface adapters for the service providers that are currently listed in the DAT static registry. -v Display the DAT static registry file, dat.conf. Example 1: Enumerating a Device Entry The following example enumerates a device entry in the service_provider.conf(4) file into interface adapters in the dat.conf(4) file. Assume that SUNW has a service provider library that supports the device tavor. It has a service_provider.conf(4) file installed in the directory /usr/share/dat/SUNWudaplt.conf with a single entry as follows: driver_name=tavor u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 "" tavor is an Infiniband Host Channel Adapter with two ports. Both IB ports exist in a single IB partition, 0x8001. If an IP interface is plumbed to each port, there are two IPoIB device instances, ibd0 and ibd1: # ls -l /dev/ibd* /dev/ibd0 -> /devices/pci@1/pci15b3,5a44@0/ibport@1,8001,ipib:ibd0 /dev/ibd1 -> /devices/pci@1/pci15b3,5a44@0/ibport@2,8001,ipib:ibd1 Running the command, datadm -a /usr/share/dat/SUNWudaplt.conf appends two new entries (if they do not already exists]) in the /etc/dat/dat.conffile: ibd0 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 "" "driver_name=tavor" ibd1 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 "" "driver_name=tavor" Example 2: Updating the dat.conf to Reflect the Current State of the System A new IB partition, 0x8002 is added to the above example covering port 1 of the Host Channel Adapter. If a new IP interface is plumbed to port 1/partition 0x8002, there is a third IPoIB device instance: ibd2. # ls -l /dev/ibd* /dev/ibd0 -> /devices/pci@1/pci15b3,5a44@0/ibport@1,8001,ipib:ibd0 /dev/ibd1 -> /devices/pci@1/pci15b3,5a44@0/ibport@2,8001,ipib:ibd1 /dev/ibd2 -> /devices/pci@1/pci15b3,5a44@0/ibport@1,8002,ipib:ibd2 Running datadm -u command, updates the /etc/dat/dat.conf file with a new entry added reflecting the current state of the system. datadm -v shows that there are now three entries in the /etc/dat/dat.conf file: ibd0 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 "" "driver_name=tavor" ibd1 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 "" "driver_name=tavor" ibd2 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 "" "driver_name=tavor" /etc/dat/dat.conf DAT static registry file See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWudaplu | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ pkgadd(1M), pkgrm(1M), libdat(3LIB), dat.conf(4), service_provider.conf(4). attributes(5) 18 Jun 2004 datadm(1M)
All times are GMT -4. The time now is 04:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy