07-18-2007
Help with awk/shell script needed!
I have a shell script which reads a file named filelist.txt, containing a list of fully qualified filenames (with complete path), and then does some processing based on the file extension. In order to do the processing, I have to know the file extension, the filename without extension and just the filename_with_extension(excluding the full path)
some sample lines in the filelist.txt looks like this
/home/johndoe/test/a.java
/home/rwilliams/test2/b.xml
My script looks like below (basically I am using awk and relying on "." to give me the extension and filename_without_extension
#!/bin/sh
for cfilename in `cat filelist.txt`
do
file_extension=`echo $cfilename | awk -F\/ '{print $NF}' | awk -F. '{print $NF}'`
export file_extension
filename_wo_ext=`echo $cfilename | awk -F\/ '{print $NF}' | awk -F. '{print $1}'`
export filename_wo_ext
filename_with_ext=$filename.$file_extension
export filename_with_ext
<processing logic>
done
The problem is this script works fine for normal files with names like /home/johndoe/test/a.java
however whenever I encounter files with names like /home/john.doe/test/abcd.efgh.ijkl.mnop.qrst.xml
the script throws up as it relies heavily on the "." character embedded in the name to be the separator between the extension and filename.
Any help will be really appreciated!
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am trying to query a table having 3 columns, the third column is a field of varchar(1024) with a SQL string in it. I am using cut command to split out the three fields into three variables. I do a db2 command to extract the data into a file.
My problem is with the third field having the SQL... (3 Replies)
Discussion started by: fastgoon
3 Replies
2. UNIX for Dummies Questions & Answers
Hi guys--
Here is the interesting problem..
I have a folder, which has a couple of xml files like ( could be anywhere under the sub folders)
ABCD_NA.xml
XAYSGD_SC.xml
CBV_CA.xml
etc
I need to peek in each of these xml's and see that the pattern before the _ and after the _ are there... (0 Replies)
Discussion started by: smallu
0 Replies
3. Shell Programming and Scripting
hello and thanks in advance.
I need to consolidate 2 records of data into 1 record.
here is a sample of the input:
------------------------------------------------------------------------------------------
totalcount fred thomas 99999.00 88888:00
total 77777.00... (7 Replies)
Discussion started by: scuderiaf1
7 Replies
4. Shell Programming and Scripting
i need to search the starting line
example we have
-sh
shl-js-gd
i need to search only starting -sh not the other
i have used cmd
cat filename | grep '-'
but it will check for complete - in the file
please help me to search only starting -
thank u
revenna (0 Replies)
Discussion started by: revenna
0 Replies
5. Shell Programming and Scripting
Hi all,
I'm a newbie. I'm thinking of making a shell script which will list a directory for *.csv files and merge all the files into a single file called data.csv.
However, i have no idea how to. What i do currently is to manually issue the following command to merge multiple CSV files into... (1 Reply)
Discussion started by: infinity2030
1 Replies
6. Shell Programming and Scripting
I have a file test.txt and i need to grep pattern "A.17" from that file.
I know cat test.txt | grep A.17 will return the pattern, but it is returing like
# VERSION=A.17
How can i take only A.17 from this
if A.17 is found,
... do something
if not found
... do something
Please... (11 Replies)
Discussion started by: Renjesh
11 Replies
7. UNIX for Dummies Questions & Answers
Hi I want a script which should basically do
1. If the size of the file is 0kb,
send email to some list od ppl
2. if the size of the file is other than 0kb
send email to someother list...
Pls help (2 Replies)
Discussion started by: win4luv
2 Replies
8. Shell Programming and Scripting
hi all,
i want the script for the following
my input is date mm-dd-yyyy
i.e 1-4-2012(it doesn't have zeros in the input ,in output it should append zeros and should print the output as defined below)
my output should be 2012-04-01(yyyy-dd-mm)
if my input is 11-14-2012
then my should be... (7 Replies)
Discussion started by: hemanthsaikumar
7 Replies
9. Shell Programming and Scripting
I need help writing a Unix shell script that does the following:
1) Searches all of the files in a given directory that have the .acl file extension
2) Redirects the output of the search to a column in a .xls or .cvs file
(Note: The column name in the spreadsheet file needs to be named... (2 Replies)
Discussion started by: ijmoore
2 Replies
10. Shell Programming and Scripting
I want to take out the Z1 value from the lscfg outpu and use the below command to get it
lscfg -vl hdisk0 | grep "Device Specific.(Z1)" | awk -F. '{print $NF}'
# lscfg -vpl hdisk0
.
.
Device Specific.(Z0)........0000063268181002
Device Specific.(Z1)........020064a
.
And it works,... (2 Replies)
Discussion started by: moorthikv
2 Replies
LEARN ABOUT LINUX
npm-run-script
NPM-RUN-SCRIPT(1) NPM-RUN-SCRIPT(1)
NAME
npm-run-script - Run arbitrary package scripts
SYNOPSIS
npm run-script <command> [--silent] [-- <args>...]
alias: npm run
DESCRIPTION
This runs an arbitrary command from a package's "scripts" object. If no "command" is provided, it will list the available scripts.
run[-script] is used by the test, start, restart, and stop commands, but can be called directly, as well. When the scripts in the package
are printed out, they're separated into lifecycle (test, start, restart) and directly-run scripts.
As of ` https://blog.npmjs.org/post/98131109725/npm-2-0-0, you can use custom arguments when executing scripts. The special option -- is
used by getopt https://goo.gl/KxMmtG to delimit the end of the options. npm will pass all the arguments after the -- directly to your
script:
npm run test -- --grep="pattern"
The arguments will only be passed to the script specified after npm run and not to any pre or post script.
The env script is a special built-in command that can be used to list environment variables that will be available to the script at run-
time. If an "env" command is defined in your package, it will take precedence over the built-in.
In addition to the shell's pre-existing PATH, npm run adds node_modules/.bin to the PATH provided to scripts. Any binaries provided by
locally-installed dependencies can be used without the node_modules/.bin prefix. For example, if there is a devDependency on tap in your
package, you should write:
"scripts": {"test": "tap test/*.js"}
instead of
"scripts": {"test": "node_modules/.bin/tap test/*.js"}
to run your tests.
The actual shell your script is run within is platform dependent. By default, on Unix-like systems it is the /bin/sh command, on Windows it
is the cmd.exe. The actual shell referred to by /bin/sh also depends on the system. As of `
https://github.com/npm/npm/releases/tag/v5.1.0 you can customize the shell with the script-shell configuration.
Scripts are run from the root of the module, regardless of what your current working directory is when you call npm run. If you want your
script to use different behavior based on what subdirectory you're in, you can use the INIT_CWD environment variable, which holds the full
path you were in when you ran npm run.
npm run sets the NODE environment variable to the node executable with which npm is executed. Also, if the --scripts-prepend-node-path is
passed, the directory within which node resides is added to the PATH. If --scripts-prepend-node-path=auto is passed (which has been the
default in npm v3), this is only performed when that node executable is not found in the PATH.
If you try to run a script without having a node_modules directory and it fails, you will be given a warning to run npm install, just in
case you've forgotten.
You can use the --silent flag to prevent showing npm ERR! output on error.
You can use the --if-present flag to avoid exiting with a non-zero exit code when the script is undefined. This lets you run potentially
undefined scripts without breaking the execution chain.
SEE ALSO
o npm help 7 scripts
o npm help test
o npm help start
o npm help restart
o npm help stop
o npm help 7 config
January 2019 NPM-RUN-SCRIPT(1)