Problem in using cut command with pipe as a delimiter while using in a script
There is a text file in my project named as "mom.txt" in which i want to have contents like..................
AND THE SAME ABOVE MENTIONED FORMAT FOR REST APPLICATION.
Now I have another HTML file called "momcpy.html" which i create in the script mentioned below where i have different text fields/area with their respective name.
Now i want to cut values from mom.text file by using my script file when user inputs in the same format that i have mentioned above for LSCRM Application and replace the cut value in the HTML file in the specific text area assigned to that application(Let us assume the text area name for LSCRM App is "lscrm" and so on for rest application). But in my case, cut command isn't working properly when i am using pipe as delimiter. For LSCRM app, i want to cut values from point 1 to point 4 and replace this cut value in its text area and same for MCRM in its text area. You can see, i have used pipe as delimiter above. Plz help asap, appreciated in advance.
My script is :
Moderator's Comments:
Please use CODE tags as required by forum rules!
Last edited by RudiC; 06-03-2017 at 04:58 PM..
Reason: Added CODE tags.
Your script is set up to trace its activity while it is running. If you show us that trace output, we'll have a much better chance of understanding what you're talking about.
You have shown us that you are trying to extract data from seven vertical bar separated fields in your input file, but the sample input file you have shown us never has more than one vertical bar. So, fields 3 through 7 must always be empty.
About all I can say that could be done to solve your problem with what you have shown us would be to rewrite your script to extract data from you input file in a way that matches the format of the data you are processing.
First of all thankyou for your time ! Here i didn't understand what you told that 7 vertical bars. Its like suppose in my text file , i have data that looks like:
After Point 4 you can see pipe as delimiter. Now if i want to cut this whole lscrm value from text file and replace the cut value in a HTML file in text area by:
****************
***************************
I didn't see this value........ "
" ...........that get cut.
Instead , i see only the first line that is point 1 got cut.i.e. "1: This is my first application."
So, plz reply with any command that can help me get the desired value.
Thanks
Moderator's Comments:
Seriously: Please use CODE tags as required by forum rules!
Last edited by RudiC; 06-04-2017 at 06:50 AM..
Reason: Added CODE tags.
Please make sure you're using code tags as required in the future!
Almost all *nix text tools work on a per line basis, i.e. on an arbitrary number of characters terminated by a <LF> (\n, 0x0A) char. That's why cut yields the entire file except for any line's pipe char and rest of that line.
My perl is non-existent, but with awk you could get at your desired result like
Allow me to comment that your data structure as well as your chosen approach seem somewhat unorthodox and inefficient.
Last edited by RudiC; 06-04-2017 at 01:38 PM..
Reason: typo
First of all thankyou for your time ! Here i didn't understand what you told that 7 vertical bars. Its like suppose in my text file , i have data that looks like:
... ... ...
So, plz reply with any command that can help me get the desired value.
Thanks
Moderator's Comments:
Seriously: Please use CODE tags as required by forum rules!
The data that you have in your text file and the commands you are using to extract data from that text file do not seem well suited to what you are trying to do. Please create a file named test.txt that contains the following text:
After creating that file, what output do you get when you run the command:
What output do you get when you run the command:
What output do you get when you run the command:
After running these commands do you understand what I meant about the 6 vertical bars (AKA pipe symbols)? Do you see that the cut commands in your script are extracting data from 7 pipe symbol delimited fields from lines in the input you feed into it, but only two of those lines contain any pipe symbols?
Have you read the manual page for cut on your system? If not enter the command:
and look at how it describes the -d, -f, and -soptions. I know that you aren't using the -s option in your code, but (with the possible exception of when you are extracting field 1 data) you might want to consider it. Do you understand now what I meant when I said "you are trying to extract data from seven vertical bar separated fields in your input file"?
Last edited by Don Cragun; 06-04-2017 at 01:43 PM..
Reason: Fix typo: s/7/6/
Hi All,
We have a requirement of picking nth position value by using cut command. value would be delimited by any symbols. We have to pass delimited value and postition to get the value in a string.
ex.
echo "A,B,C,D,E" |cut -d "," -f3
echo "A|B|C|D|E"|cut -d "|" -f2
Kindly frame the... (5 Replies)
Hi all,
I have a number of strings like below:
//mnt/autocor/43°13'(33")W/
and i'm trying to get the numbers in this string, for example
431333
please help
thanks ahead (14 Replies)
I can not make it work, it prints \t rather than introduce tabs.
cut -d "," -f 4,8 Samples.csv --output-delimiter="\t" | sort > out
Since I am running this command within a shell script, I tried manually inserting tab in this command, still does not work. I am using bash shell
Suggestions... (8 Replies)
Hi,
I've a situation where,
a=xxx.yyy.zzz.txt
EXTN=`echo $a | cut -d . -f2`
Using the above code it delimites and will return "yyy.zzz.txt" to EXTN. But i need to get only the extension "txt". so as per the above code it delimits in the first "." itself. Can anyone help how to do... (6 Replies)
I'm new to shell programming, and am having a problem in a (Korn) shell program, which boils down to this:
The program reads a record from an input file and then uses a series of
"cut" commands to break the record into parts and assign the parts to
variables. There are no delimiters in the... (2 Replies)
I am trying to extract 'postmaster' from the following string:
PenaltyError:=554 5.7.1 Error, send your mail to postmaster@LOCALDOMAIN
using the following command:
cat /usr/share/assp/assp.cfg | grep ^PenaltyError:= | cut -d '@' -f1 | cut -f8
but it returns:
PenaltyError:=554 5.7.1 Error,... (10 Replies)
Hello All,
I have a file with thousands of records:
eg:
|000222|123456987|||||||AARONSON| JOHN P|||PRIMARY |P
|000111|567894521|||||||ATHENS| WILLIAM k|||AAAA|L
Expected:
|000222|123456987|||||||AARONSON| JOHN |P|||PRIMARY |P
|000111|567894521|||||||ATHENS| WILLIAM |k|||AAAA|L
I... (6 Replies)
We are facing a problem with PIPE (|) as a delimiter in one of our FTP flat files.
We are constructing a Flat file in IBM-AIX and this contains various strings delimted by PIPE Symbol and then FTPing this to a Mainframe System
The Mainframe program simply recieves this and FTPs the same... (1 Reply)
Hi All,
Can the cut command have double character delimiter?
If yes, how can we use it.
if my data file contains :
apple || mango || grapes
i used
cut -f1 -d"||" filename
but got an error.
Plz help....
Thanks. (1 Reply)
hello..
my prob is as follows:
i have to read from a file which may have different formats depending upon the delimiter used in the data of the file.now i need that the user input the delimiter.the input delimiter is stored in a variable and is used on cut command to retrieve necessary... (3 Replies)