Bash: copying lines with specific character to files with same name as copied line.
I am trying to make my script as simple as a possible but, I am not sure if the way I am approaching is necessarily the most efficient or effective it can be. What I am mainly trying to fix is a for loop to remove a string from the specified files and within this loop I am trying to copy the lines with a specific character from the files to another set of files with a particular extension. I have found somethings similar using copy but only piping to one file.
This is what I have so far but because the files I want to copy from and the files I want to copy to have different extension names I am not sure how to use their basenames...
Here 'i' is all lines where ".pattern" is removed and I want to copy these lines to '*_relabeled'. I want '*_relabeled' (the *) to expand to the same name that is used for "/home/path/to/*.file" with a different extension
Would it be better to do the two separately or is there a better way to modify what I currently have? Is there some way to link or extract string that is associated with the '>' to be used as the file identifier to paste this string?
Thank you!
Last edited by Allie_gastrator; 08-19-2016 at 01:44 PM..
I wanted to see if some one could confirm the proper command and format for copying specific files i.e., ones that contain certain character string in the file name. I would like to copy all files that contain a numeric sequence in the file name i.e., "922371". Files are compressed - *.gz. Would... (3 Replies)
Hi All,
I am trying to rsync some of the latest files from remote m/c to my local linux box.
Folder structure in my remote m/c looks like this
/pub/Nightly/Package/ROLL/WIN
/pub/Nightly/Package/SOLL/sol
/pub/Nightly/Package/SOLL/linux
Each of the folder contains gzip files which on daily... (0 Replies)
Hello all
i know it is pretty hard one but you will manage it all
after noticing and calculating i find a rhythm for the file i want to edit
to copy the last 12 characters in line but the problem is to add after first 25 characters in same line
in other way too copy the last 12 characters... (10 Replies)
Hi Folks,
I have one curious case. There are list of following files placed in one directory such as... And updated each month.
files.JAN09.csv files.FEB09.csv files.MAR09.csv .....
Now, I need to move a specific files; i.e,
For this month, I need to move only OCT09, NOV09, DEC09,... (1 Reply)
Hello everyone...
I need to find out, how to find longest line or possibly lines in several files which are arguments for script. The thing is, that I tried some possibilities before, but nothing worked correctly.
Example
when i use:
awk ' { if ( length > L ) { L=length ;s=$0 } }END{ print... (23 Replies)
Hi!
If I want to extract a character from a specific position of a string, I can use ${string:1:1} (if I want character at the position 1). How can I do the same thing, when the number of position is contained in the variable? ${string:$var:1}doesn't work, unfortunately.
Thanks in advance. (2 Replies)
Hi All
I am trying to copy files from one location to another and given below are some sample ones:
aaa_bbb_ccc_ddd_cost_code_20140330.gz
aaa_bbb_ccc_ddd_revenue_zone_20140329.gz
aaa_bbb_ccc_ddd_benefit_extract_20140330.csv.gz
aaa_bbb_ccc_ddd_profit_zone_20150509.csv.gz... (17 Replies)
guys, i did create a script but its too long, though it function the same.
# cat nightlyscan.sh
#!/usr/ksh
deyt=`date +"%Y-%m-%d"`
for i in `ls -lrt|grep $deyt|awk '{print $9}'`
do
cp -f $i /S1/Sophos/logger/
done
#
but i did not paste it all.
this is the desired. (9 Replies)
I will appreciate if you help me here in this script in Solaris Enviroment.
Scenario:
i have 2 files :
1) /tmp/TRANSACTIONS_DAILY_20180730.txt:
201807300000000004
201807300000000005
201807300000000006
201807300000000007
201807300000000008
2)... (10 Replies)
Discussion started by: teokon90
10 Replies
LEARN ABOUT SUNOS
fgrep
fgrep(1) User Commands fgrep(1)NAME
fgrep - search a file for a fixed-character string
SYNOPSIS
/usr/bin/fgrep [-bchilnsvx] [-e pattern_list] [-f pattern-file] [pattern] [file...]
/usr/xpg4/bin/fgrep [-bchilnsvx] [-e pattern_list] [-f pattern-file] [pattern] [file...]
DESCRIPTION
The fgrep (fast grep) utility searches files for a character string and prints all lines that contain that string. fgrep is different from
grep(1) and from egrep(1) because it searches for a string, instead of searching for a pattern that matches an expression. fgrep uses a
fast and compact algorithm.
The characters $, *, [, ^, |, (, ), and are interpreted literally by fgrep, that is, fgrep does not recognize full regular expressions as
does egrep. These characters have special meaning to the shell. Therefore, to be safe, enclose the entire string within single quotes (').
If no files are specified, fgrep assumes standard input. Normally, each line that is found is copied to the standard output. The file name
is printed before each line that is found if there is more than one input file.
OPTIONS
The following options are supported:
-b Precedes each line by the block number on which the line was found. This can be useful in locating block numbers by con-
text. The first block is 0.
-c Prints only a count of the lines that contain the pattern.
-e pattern_list Searches for a string in pattern-list. This is useful when the string begins with a -.
-f pattern-file Takes the list of patterns from pattern-file.
-h Suppresses printing of files when searching multiple files.
-i Ignores upper/lower case distinction during comparisons.
-l Prints the names of files with matching lines once, separated by new-lines. Does not repeat the names of files when the
pattern is found more than once.
-n Precedes each line by its line number in the file. The first line is 1.
-s Works silently, that is, displays nothing except error messages. This is useful for checking the error status.
-v Prints all lines except those that contain the pattern.
-x Prints only lines that are matched entirely.
OPERANDS
The following operands are supported:
file Specifies a path name of a file to be searched for the patterns. If no file operands are specified, the standard input will
be used.
/usr/bin/fgrep
pattern Specifies a pattern to be used during the search for input.
/usr/xpg4/bin/fgrep
pattern Specifies one or more patterns to be used during the search for input. This operand is treated as if it were specified as
-e pattern_list.
USAGE
See largefile(5) for the description of the behavior of fgrep when encountering files greater than or equal to 2 Gbyte ( 2**31 bytes).
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of fgrep: LC_COLLATE, LC_CTYPE, LC_MES-
SAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
0 If any matches are found
1 If no matches are found
2 For syntax errors or inaccessible files, even if matches were found.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
/usr/bin/fgrep
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
/usr/xpg4/bin/fgrep
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWxcu4 |
+-----------------------------+-----------------------------+
|CSI |Enabled |
+-----------------------------+-----------------------------+
SEE ALSO ed(1), egrep(1), grep(1), sed(1), sh(1), attributes(5), environ(5), largefile(5), XPG4(5)NOTES
Ideally, there should be only one grep command, but there is not a single algorithm that spans a wide enough range of space-time tradeoffs.
Lines are limited only by the size of the available virtual memory.
/usr/xpg4/bin/fgrep
The /usr/xpg4/bin/fgrep utility is identical to /usr/xpg4/bin/grep -F (see grep(1)). Portable applications should use /usr/xpg4/bin/grep
-F.
SunOS 5.10 4 Oct 2002 fgrep(1)