Issues formatting output of two commands in a single line.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Issues formatting output of two commands in a single line.
# 1  
Old 08-28-2019
Issues formatting output of two commands in a single line.

I wish to generate output of two commands in the same line separated by a single white-space.

Below is my command and output in the same line.

Code:
ls -ltr fname1.out | awk '{$2=$4=$5=x; print}' | tr '\n' '\t' | tr -s ' '; cksum<fname1.out | cut -d' ' -f1

Output:
Code:
-rw-r--r--. root Aug 26 16:57 fname1.out        4294967295


The issue is that there is a tab space /t between the first and second command's output instead of having a single white-space i.e between
Code:
fname1.out        4294967295

Need suggestions to get equal single white spacing between all output elements.
# 2  
Old 08-28-2019
calculate cksum first and assign it to a variable, then print that variable in the awk statement.
# 3  
Old 08-28-2019
Quote:
Originally Posted by jgt
calculate cksum first and assign it to a variable, then print that variable in the awk statement.
I'm using the above command in ansible shell module and would like to get this to work without involving variables... is that possible ?
# 4  
Old 08-28-2019
ls will change the time column format depending on the age of the file eg:

Code:
-rw-r--r--  1 root root 89 Aug 29 12:08 booking
-rw-r--r--  1 root bin   0 Oct 21  2016 basic.log

do you want this in your output. If you want a consistent date and time then perhaps use find like this:

Code:
find fname1.out -printf "%M %u %TY-%Tm-%Td %TH:%TM %f $(cksum<fname1.out | cut -d' ' -f1)\n"

Result:
Code:
-rw-r--r-- root 2018-08-05 11:48 fname1.out 1187560795

These 3 Users Gave Thanks to Chubler_XL For This Post:
# 5  
Old 08-28-2019
Quote:
Originally Posted by Chubler_XL
ls will change the time column format depending on the age of the file eg:

Code:
-rw-r--r--  1 root root 89 Aug 29 12:08 booking
-rw-r--r--  1 root bin   0 Oct 21  2016 basic.log

do you want this in your output. If you want a consistent date and time then perhaps use find like this:

Code:
find fname1.out -printf "%M %u %TY-%Tm-%Td %TH:%TM %f $(cksum<fname1.out | cut -d' ' -f1)\n"

Result:
Code:
-rw-r--r-- root 2018-08-05 11:48 fname1.out 1187560795

Can I get the find to print the absolute path of the file like so : find /app/logs/fname1.out -printf "%M %u %TY-%Tm-%Td %TH:%TM %f $(cksum<fname1.out | cut -d' ' -f1)\n"

Desired Output:
Code:
-rw-r--r-- root 2018-08-05 11:48  /app/logs/fname1.out 1187560795

# 6  
Old 08-28-2019
yes use %h/%f instead of %f:

Code:
find /app/logs/fname1.out -printf "%M %u %TY-%Tm-%Td %TH:%TM %h/%f $(cksum<fname1.out | cut -d' ' -f1)\n"

This User Gave Thanks to Chubler_XL For This Post:
# 7  
Old 08-28-2019
Works !! Thanks @Chubler_XL
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Output to file print as single line, not separate line

example of problem: when I echo "$e" >> /home/cogiz/file.txt result prints to file as:AA BB CC I need it to save to file as this:AA BB CC I know it's probably something really simple but any help would be greatly appreciated. Thank You. Cogiz (7 Replies)
Discussion started by: cogiz
7 Replies

2. Shell Programming and Scripting

Formatting File having big single line into 95 Char Per Line

Hi All, I have 4 big files which contains one big line containing formatted character records, I need to format each file in such way that each File will have 95 Characters per line. Last line of each file will have newline character at end. Before:- File Name:- File1.dat 102 121340560... (10 Replies)
Discussion started by: lancesunny
10 Replies

3. Shell Programming and Scripting

convert single line output to multiple line

Hi all, I have a single line output like below echo $ips 10.26.208.28 10.26.208.26 10.26.208.27 want to convert above single line output as below format. Pls advice how to do ? 10.26.208.28 10.26.208.26 10.26.208.27 Regards Kannan (6 Replies)
Discussion started by: kamauv234
6 Replies

4. Shell Programming and Scripting

Joining multi-line output to a single line in a group

Hi, My Oracle query is returing below o/p ---------------------------------------------------------- Ins trnas value a lkp1 x a lkp1 y b lkp1 a b lkp2 x b lkp2 y ... (7 Replies)
Discussion started by: gvk25
7 Replies

5. UNIX for Dummies Questions & Answers

Redirecting the multiple commands output to single file

Hi, I am new to shell scripting and have a question. I would like to redirect the output of multple commands to single file, From what I read from the bash manpage and from some searching it seems it cannot be done within the shell except setting up a loop. Is it? I am running all clearcase... (1 Reply)
Discussion started by: saku
1 Replies

6. UNIX for Dummies Questions & Answers

Multiple Commands on a Single Line

Hi There, I have a cronjob that executes a small script (few lines) that I am certain can be achieved in a single line. The functional objective is actually really simple; cmd var1 The '1' in 'var1' is actually derived from date (day of month) but the snag is when working with 1-9 I... (3 Replies)
Discussion started by: Random79
3 Replies

7. Shell Programming and Scripting

Merge multi-line output into a single line

Hello I did do a search and the past threads doesn't really solve my issue. (using various awk commands) I need to combine the output from java -version into 1 line, but I am having difficulties. When you exec java -version, you get: java version "1.5.0_06" Java(TM) 2 Runtime... (5 Replies)
Discussion started by: flagman5
5 Replies

8. Shell Programming and Scripting

Putting multiple sed commands on a single line

Hi, I want to make sed write a part of fileA (first 7 lines) to file1 and the rest of fileA to file2 in a single call and single line in sed. If I do the following: sed '1,7w file1; 8,$w file2' fileA I get only one file named file1 plus all the characters following file1. If I try to use curly... (1 Reply)
Discussion started by: varelg
1 Replies

9. Shell Programming and Scripting

single line input to multiple line output with sed

hey gents, I'm working on something that will use snmpwalk to query the devices on my network and retreive the device name, device IP, device model and device serial. I'm using Nmap for the enumeration and sed to clean up the results for use by snmpwalk. Once i get all the data organized I'm... (8 Replies)
Discussion started by: mitch
8 Replies

10. Shell Programming and Scripting

Multi-line output to single line

Hello, How can I take the following output: outputa outputb outputc and turn it into single line ouput, with a single space between each field like below: outputa outputb outputc (7 Replies)
Discussion started by: LinuxRacr
7 Replies
Login or Register to Ask a Question