Sponsored Content
Top Forums Shell Programming and Scripting Reading multiple lines in a file Post 302972650 by Ali Sarwar on Monday 9th of May 2016 07:39:51 AM
Old 05-09-2016
Thank you Ravinder for your help. Following is the detailed info for which I seek help. I have 4 log files auto generated by some binary with the names as given below.

Code:
-rw------- 1 nz   nz   7.9K May  8 14:07 backupsvr.16897.2016-05-08.log
-rw------- 1 nz   nz   4.1K May  8 14:23 backupsvr.7474.2016-05-08.log
-rw------- 1 nz   nz   162K May  8 14:38 backupsvr.25848.2016-05-08.log
-rw------- 1 nz   nz    47K May  8 18:40 backupsvr.29230.2016-05-08.log

What I did is that I listed the files of my choice of date and put the names into another file by using the following command.

Code:
ls *`date +%Y-%m-08`* > output.txt

Not the new file "output.txt" contains all 4 file names from 08th May 2016.

Code:
#cat output.txt
backupsvr.16897.2016-05-08.log
backupsvr.25848.2016-05-08.log
backupsvr.29230.2016-05-08.log
backupsvr.7474.2016-05-08.log

Now I want to fetch 2nd last line from each file and put them into one new file. i.e 2nd last line of 1st file is as "a completed successfully". 2nd file's 2nd last line is "b completed successfully".

I want these 2nd last line into one final file which output would be as below.

Code:
#cat finalfile.txt
a completed successfully
b completed successfully
c completed successfully
d completed successfully

I hope my requirement is clear now. If not please let me know and I will try to explain it more.

Regards,
Ali


Moderator's Comments:
Mod Comment Please use code tags as required by forum rules!

Last edited by RudiC; 05-09-2016 at 08:48 AM.. Reason: Added code tags.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Reading lines within a Unix file.

I have a file that has a list of numbers in it. Each line has a different number. I am trying to create some sort of loop within a script that will pick the numbers up on lines 1 and 2 and then put those figures into the script. It then goes through the process then loops back and reads lines 2 and... (5 Replies)
Discussion started by: mariner
5 Replies

2. Shell Programming and Scripting

Reading multiple lines as single

Hi, Is it possible to read every 2 lines as single record, I have a file like below, ~CZK ~TSCHECHISCHE KRONE ~TSCHECH. REPUBLIK Dec 1 2005 12:00AM~ 10.840000~ ~DKK ~DAENISCHE KRONE ~DAENEMARK Dec 2 2005 12:00AM~ ... (9 Replies)
Discussion started by: braindrain
9 Replies

3. UNIX for Dummies Questions & Answers

skip reading certain lines in a file

How can I exclude reading lines in a file that contains the following: filesystem:/home/pach/liv_patches 128005120 88456640 37270758 71% /home/patches That is, all lines that contain and begins with filesystem: should not be processed/read from a file (5 Replies)
Discussion started by: paulsew
5 Replies

4. Shell Programming and Scripting

reading alternate lines of a file

hi, i have 2 files. file1: 1 2 3 4 5 6 file2: a b c d e f g h i (5 Replies)
Discussion started by: vidyaj
5 Replies

5. Shell Programming and Scripting

skip lines while reading a file

Hi Experts, I am tryin to read a file and while doing so i need to skip the lines which start with a hash (#) char. I thought of using a goto command but a lot of guys on this site say its not the good way to program. Moreover I am using a ksh shell which deos not support goto command. ... (4 Replies)
Discussion started by: bankimmehta
4 Replies

6. Shell Programming and Scripting

Regarding reading lines into a new file

Hi all, I jut use a loop to read lines from the user and redirect it to a file. echo "Enter the line" while read -r LINE do echo $LINE >> FILE if ;then break fi done input app... (1 Reply)
Discussion started by: Ananthdoss
1 Replies

7. Shell Programming and Scripting

How to ignore single or multiple lines between /* and */ while reading from a file in unix?

I have a file proc.txt: if @debug = 1 then message 'Start Processing ', @procname, dateformat(now(*), 'hh:mm:ss'), @julian type info to client; end if; /* execute immediate with quotes 'insert into sys_suppdata (property, value, key_name) location ''' || @supp_server || '.' ||... (5 Replies)
Discussion started by: kidncute
5 Replies

8. Shell Programming and Scripting

Reading multiple values from multiple lines and columns and setting them to unique variables.

Hello, I would like to ask for help with csh script. An example of an input in .txt file is below, the number of lines varies from file to file and I have 2 or 3 columns with values. I would like to read all the values (probably one by one) and set them to independent unique variables that... (7 Replies)
Discussion started by: FMMOLA
7 Replies

9. Shell Programming and Scripting

Reading multiple lines with condition

Hi guys, I need to read following lines and put them in same row …. text: Abcd5437_XYA0_B1_WXYZ_BE 99:00:14:42:55:01:d4:22 99:00:14:42:70:01:d4:22 99:00:14:42:55:03:a0:22 99:00:14:42:70:03:a0:22 ... (4 Replies)
Discussion started by: dc@bos
4 Replies

10. Shell Programming and Scripting

Removing multiple lines from input file, if multiple lines match a pattern.

GM, I have an issue at work, which requires a simple solution. But, after multiple attempts, I have not been able to hit on the code needed. I am assuming that sed, awk or even perl could do what I need. I have an application that adds extra blank page feeds, for multiple reports, when... (7 Replies)
Discussion started by: jxfish2
7 Replies
os_log(3)						   BSD Library Functions Manual 						 os_log(3)

NAME
os_log, os_log_info, os_log_debug, os_log_error, os_log_fault -- log a message scoped by the current activity (if present) SYNOPSIS
#include <os/log.h> void os_log(os_log_t log, const char *format, ...); void os_log_info(os_log_t log, const char *format, ...); void os_log_debug(os_log_t log, const char *format, ...); void os_log_error(os_log_t log, const char *format, ...); void os_log_fault(os_log_t log, const char *format, ...); DESCRIPTION
The unified logging system provides a single, efficient, high performance set of APIs for capturing log messages across all levels of the system. This unified system centralizes the storage of log data in memory and in a data store on disk. The system implements global set- tings that govern logging behavior and persistence, while at the same time providing fine-grained control during debugging via the log(1) command-line tool and through the use of custom logging configuration profiles. Log messages are viewed using the Console app in /Applica- tions/Utilities/ and the log(1) command-line tool. Logging and activity tracing are integrated to make problem diagnosis easier. If activ- ity tracing is used while logging, related messages are automatically correlated. The unified logging system considers dynamic strings and complex dynamic objects to be private, and does not collect them automatically. To ensure the privacy of users, it is recommended that log messages consist strictly of static strings and numbers, which are collected automat- ically by the system. In situations where it is necessary to capture a dynamic string, and it would not compromise user privacy, you may explicitly declare the string public by using the public keyword in the log format string. For example, %{public}s. Log arguments can also be specified as private by using the private keyword in the log format string. For example, %{private}d. To format a log message, use a printf(3) format string. You may also use the "%@" format specifier for use with Obj-C/CF/Swift objects, and %.*P which can be used to decode arbitrary binary data. The logging system also supports custom decoding of values by denoting value types inline in the format %{value_type}d. The built-in value type decoders are: Value type Custom specifier Example output BOOL %{BOOL}d YES bool %{bool}d true darwin.errno %{darwin.errno}d [32: Broken pipe] darwin.mode %{darwin.mode}d drwxr-xr-x darwin.signal %{darwin.signal}d [sigsegv: Segmentation Fault] time_t %{time_t}d 2016-01-12 19:41:37 timeval %{timeval}.*P 2016-01-12 19:41:37.774236 timespec %{timespec}.*P 2016-01-12 19:41:37.2382382823 bitrate %{bitrate}d 123 kbps iec-bitrate %{iec-bitrate}d 118 Kibps uuid_t %{uuid_t}.16P 10742E39-0657-41F8-AB99-878C5EC2DCAA sockaddr %{network:sockaddr}.*P fe80::f:86ff:fee9:5c16 in_addr %{network:in_addr}d 127.0.0.1 in6_addr %{network:in6_addr}.16P fe80::f:86ff:fee9:5c16 Use os_log and its variants to log messages to the system datastore based on rules defined by the os_log_t object, see os_log_create(3). Generally, use the OS_LOG_DEFAULT constant to perform logging using the system defined behavior. Create a custom log object when you want to tag messages with a specific subsystem and category for the purpose of filtering, or to customize the logging behavior of your subsystem with a profile for debugging purposes. os_log is a "default" type of log message that always captured in memory or on disk from system. Limit use to messages that would help diag- nose a failure, crash, etc. for production installations. os_log_info is an "info" type of log message used for additional information. Depending on configuration these messages may be enabled and only captured in memory. They can be optionally configured to persist to disk using a profile or via tools. os_log_debug is a "debug" type of log message that is only recorded when it is specifically requested by tools or configured as such. Debug messages should be used for development use, i.e., additional information that is typically only useful during code development. os_log_error is an "error" type of log message that is related to the local process or framework. If a specific os_activity_id_t is present on the thread, that activity will be captured with all messages available and saved as a snapshot of the error event. os_log_fault is a "fault" type of log message that may involve system-services or multiple processes. If a specific os_activity_id_t is present on a thread, that activity will be captured with all messages available from all involved processes and saved as a snapshot of the fault event. EXAMPLES
Example use of log messages. #include <os/log.h> #include <pwd.h> #include <errno.h> int main(int argc, const char * argv[]) { uid_t uid; os_log(OS_LOG_DEFAULT, "Standard log message."); os_log_info(OS_LOG_DEFAULT, "Additional info for troubleshooting."); os_log_debug(OS_LOG_DEFAULT, "Debug level messages."); struct passwd *pwd = getpwuid(uid); if (pwd == NULL) { os_log_error(OS_LOG_DEFAULT, "failed to lookup user %d", uid); return ENOENT; } } SEE ALSO
log(1), os_log_create(3), os_activity_initiate(3) Darwin June 2, 2016 Darwin
All times are GMT -4. The time now is 09:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy