Is it possible to send a variable to a sed or cut command? I have a test script as below:
counter=1
while read line
do
# Test the file
printf "$line" > temp$counter
pref=$(cut c1-2000 $temp$counter | sed 's/[^a-zA-Z0-9+_:-]//g' | sed 's|.*PutTime\(.*)Origin.*|\1|')
printf" let counter=counter+1
done < temp01
What I would like is to avoid writing the $line to a file and the passing it to the pref=....... line. What I would like to do is say assign the contents of the $line to a variable, say, record and then use record in the cut/sed command. I can change the first sed with cut i.e. cut after sed instead of doing it first.
Code:
counter=1
while read line
do
# Test the file
pref=$(echo $line | cut c1-2000 | sed 's/[^a-zA-Z0-9+_:-]//g' | sed 's|.*PutTime\(.*)Origin.*|\1|')
printf" let counter=counter+1
done < temp01
I m trying to pass variable to sed.
export var=140920060731
sed -e '/$var/d' file
but no luch so far..? any body has any idea abt it
Is there any way to pass variable to SED?
Thanks ,
Manish (2 Replies)
I fairly new to SED. I have tried many different variations of this line of code and even breaking it down into its components and running them separately.
They work individually without variables but when I place the $todbname variable it will either inserts the text "connect to $todbname"... (3 Replies)
hi,
dataParse(){
line="$@"
name="cat /etc/passwd | grep "$line": | cut -f6 -d':'"
eval $name > sam.txt 2>&1
sudo -u $line sed -n 's/data-1/&/p' $name/test.xml >> sam1.txt
}
Here i getting the homedir of the accounts and is set in
name variable.which returns "/home/raju" which i... (3 Replies)
Hi, I'm a bit of sed n00b here.
My issue is as follows:
I'm trying to pass a variable to sed so that all instances of this variable (in a text file) will be replaced with nothing. However, the value of this variable will always be a folder location e.g. "C:\Program Files\Folder1"
I... (5 Replies)
Dear All,
I want to print a file.
First I tried with this
sed '2q;d' filename
it worked. But when i put following it is not working
x=2;
sed '$xq;d' filename
Would any one suggest how to pass the variable? (7 Replies)
Hi guys,
I wanted to pass a variable to the sed command which tells which line to be deleted.
a=2;
echo $a;
sed '$ad' c.out
it is throwing an error.
sed: 0602-403 "$a"d is not a recognized function.
I even tried "$a" and \$a.. but it is of no use.
Can you please correct me... (6 Replies)
Hello All,
I am trying to embed variable in sed command to fetch a portion of record between two pattern.
This command is not working ...any suggestion on this how to place the variable in sed command to find a portion .
I am using Sun OS (Solaris).
Thanks
JM (1 Reply)
Here is my code
#!/bin/bash
username=gnowicki
sed '$s/$/ $username/' < sshd_config 1 <> sshd_config
what this is supposed to do is take the name gnowicki and put it at the end of the last line of the sshd_config and it works except not using the variable, if I put the name "gnowicki" where... (2 Replies)
hi,
i want to remove 12 and 13 column from psv files and dump them in new folder
ls -ltr *GTDA_Dly_Pmix_*.psv>filename.xls
var1=`cat filename.xls`
for i in $var1
do
var3=`echo "$i" |cut -d '|' -f12,13 |sort -u`
sed -e 's/"|$var3"//g... (2 Replies)
Hi,
I want to pass value of a variable track_line which is the line number to sed. Sed should print the lines starting from track_line till the last
line of the file. I tried the below command but it is not working.
sed -n '${track_line},$p' latest_log_file
I tried using the below too but... (1 Reply)
Discussion started by: nitinupadhyaya8
1 Replies
LEARN ABOUT SUNOS
cut
cut(1) User Commands cut(1)NAME
cut - cut out selected fields of each line of a file
SYNOPSIS
cut -b list [-n] [file...]
cut -c list [file...]
cut -f list [-d delim] [-s] [file...]
DESCRIPTION
Use the cut utility to cut out columns from a table or fields from each line of a file; in data base parlance, it implements the projection
of a relation. The fields as specified by list can be fixed length, that is, character positions as on a punched card (-c option) or the
length can vary from line to line and be marked with a field delimiter character like <TAB> (-f option). cut can be used as a filter.
Either the -b, -c, or -f option must be specified.
Use grep(1) to make horizontal ``cuts'' (by context) through a file, or paste(1) to put files together column-wise (that is, horizontally).
To reorder columns in a table, use cut and paste.
OPTIONS
The following options are supported:
list A comma-separated or blank-character-separated list of integer field numbers (in increasing order), with optional - to
indicate ranges (for instance, 1,4,7; 1-3,8; -5,10 (short for 1-5,10); or 3- (short for third through last field)).
-b list The list following -b specifies byte positions (for instance, -b1-72 would pass the first 72 bytes of each line). When -b
and -n are used together, list is adjusted so that no multi-byte character is split.
-c list The list following -c specifies character positions (for instance, -c1-72 would pass the first 72 characters of each line).
-d delim The character following -d is the field delimiter (-f option only). Default is tab. Space or other characters with special
meaning to the shell must be quoted. delim can be a multi-byte character.
-f list The list following -f is a list of fields assumed to be separated in the file by a delimiter character (see -d ); for
instance, -f1,7 copies the first and seventh field only. Lines with no field delimiters will be passed through intact (use-
ful for table subheadings), unless -s is specified.
-n Do not split characters. When -b list and -n are used together, list is adjusted so that no multi-byte character is split.
-s Suppresses lines with no delimiter characters in case of -f option. Unless specified, lines with no delimiters will be
passed through untouched.
OPERANDS
The following operands are supported:
file A path name of an input file. If no file operands are specified, or if a file operand is -, the standard input will be
used.
USAGE
See largefile(5) for the description of the behavior of cut when encountering files greater than or equal to 2 Gbyte (2**31 bytes).
EXAMPLES
Example 1: Mapping user IDs
A mapping of user IDs to names follows:
example% cut -d: -f1,5 /etc/passwd
Example 2: Setting current login name
To set name to current login name:
example$ name=`who am i | cut -f1 -d' '`
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of cut: LANG, LC_ALL, LC_CTYPE, LC_MES-
SAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
0 All input files were output successfully.
>0 An error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
|CSI |Enabled |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
SEE ALSO grep(1), paste(1), attributes(5), environ(5), largefile(5), standards(5)DIAGNOSTICS
cut: -n may only be used with -b
cut: -d may only be used with -f
cut: -s may only be used with -f
cut: cannot open <file> Either file cannot be read or does not exist. If multiple files are present, processing continues.
cut: no delimiter specified Missing delim on -d option.
cut: invalid delimiter
cut: no list specified Missing list on -b, -c, or -f option.
cut: invalid range specifier
cut: too many ranges specified
cut: range must be increasing
cut: invalid character in range
cut: internal error processing input
cut: invalid multibyte character
cut: unable to allocate enough memory
SunOS 5.10 29 Apr 1999 cut(1)