Well, you need a definite spec of when field 2 is to be removed, as Susan is just a longer second field. Perhaps we can key on the '.' trailing dot/stop. I am a sed guy, not su much PERL and awk:
Narrative: sed reads stdin, and if there is a dot at the end of the second space separated field, removes it by replacing the first two fields plus separaors with the first field plus separator, writes all to stdout.
I would like to do the following in bash shell.
file a
a:1
b:2
c:3
file b
a:work:apple
b:baby:banana
c:candy:cat
d:desk:dog
I would like to match field 1 in file a to file b, if there's a match I would like
to append field 2 in file a to field 3 in file b.
Thank you. (8 Replies)
Hi All,
Thanks for your help in advance
I am parsing a log file where the first field of each line can have the same key value but not more than 3 times in a row. Varying value of that first field changes as you go through the log but it either appears 3 times or two and sometimes only once.... (1 Reply)
First, thanks for the help in previous posts... couldn't have gotten where I am now without it!
So here is what I have, I use AWK to match $1 and $2 as 1 string in file1 to $1 and $2 as 1 string in file2. Now I'm wondering if I can extend this AWK command to incorporate the following:
If $1... (4 Replies)
hello,
i have a little problem, i want match the complete field ($1 or $2) with a complete word in another variable.
example:
i have a file with either one or two words per lane:
hsa-mir-4449
hsa-mir-4707
hsa-mir-4707* hsa-mir-4707
novelMiR_3551 novelMiR_3563
novelMiR_4330... (4 Replies)
In the awk below I use $2 of filet to search filea for a match. If the values in $2 are exact match this works great. However, that is not always the case, so I need to perform the search using a range of + or - 2. That is if the value in filea $2 is within + or - 2 of filet $2 then it is matched.... (6 Replies)
I am trying to look for $2 of file1 (skipping the header) in $2 of file2 (skipping the header) and if they match and the value in $10 is > 30 and $11 is > 49, then print the line from file1 to a output file. If no match is foung the line is not printed. Both the input and output are tab-delimited.... (3 Replies)
Discussion started by: cmccabe
3 Replies
LEARN ABOUT OPENSOLARIS
fmlcut
fmlcut(1F) FMLI Commands fmlcut(1F)NAME
fmlcut - cut out selected fields of each line of a file
SYNOPSIS
fmlcut -clist [filename]...
fmlcut -flist [-dchar] [-s] [filename]...
DESCRIPTION
The fmlcut function cuts out columns from a table or fields from each line in filename; in database parlance, it implements the projection
of a relation. fmlcut can be used as a filter; if filename is not specified or is -, the standard input is read. list specifies the fields
to be selected. Fields can be fixed length (character positions) or variable length (separated by a field delimiter character), depending
on whether -c or -f is specified.
Note: Either the -c or the -f option must be specified.
OPTIONS
list A comma-separated list of integer field numbers (in increasing order), with optional - to indicate ranges. For example: 1,4,7;
1-3,8; -5,10 (short for 1-5,10); or 3- (short for third through last field).
-clist If -c is specified, list specifies character positions (for instance, -c1-72 would pass the first 72 characters of each line).
Note: No space intervenes between -c and list.
-flist If -f is specified, list is a list of fields assumed to be separated in the file by the default delimiter character, TAB, or by
char if the -d option is specified. For example, -f1,7 copies the first and seventh field only. Lines with no delimiter charac-
ters are passed through intact (useful for table subheadings), unless -s is specified. Note: No space intervenes between -f and
list. The following options can be used if you have specified -f.
-dchar If -d is specified, char is the field delimiter. Space or other characters with special meaning to FMLI must be quoted.
Note: No space intervenes between -d and char . The default field delimiter is TAB.
-s Suppresses lines with no delimiter characters. If -s is not specified, lines with no delimiters will be passed through
untouched.
EXAMPLES
Example 1 Getting login IDs and names
The following example gets the login IDs and names.
example% fmlcut -d: -f1,5 /etc/passwd
Example 2 Getting the current login name
The next example gets the current login name.
example% `who am i | fmlcut -f1 -d" "`
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO fmlgrep(1F), attributes(5)DIAGNOSTICS
fmlcut returns the following exit values:
0 when the selected field is successfully cut out
2 on syntax errors
The following error messages may be displayed on the FMLI message line:
ERROR: line too long
A line has more than 1023 characters or fields, or there is no new-line character.
ERROR: bad list for c/f option
Missing -c or -f option or incorrectly specified list. No error occurs if a line has fewer fields than the list calls for.
ERROR: no fields
The list is empty.
ERROR: no delimiter
Missing char on -d option.
NOTES
fmlcut cannot correctly process lines longer than 1023 characters, or lines with no newline character.
SunOS 5.11 5 Jul 1990 fmlcut(1F)