|
|||||||
| Forums | Search Forums | Register | Forum Rules | Man Pages | Albums | FAQ | Members | Calendar | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
|
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
Scripting question
Preview of command prompt f ---> to start ferret q----> to stop ferret Code:
asp@nex:~$ f
NOAA/PMEL TMAP
FERRET v6.82
Linux 2.6.18-308.8.2.el5PAE 32-bit - 08/03/12
3-Dec-12 16:44
yes? go my.jnl
yes?column=4/skip=1/type=num,text ............filename.txt
---
---some code...to do some task
---
yes?save/file=filename.nc ........................................
yes? qafter the execution of quite process script has to do one more thing that is to change the base of filename both (filename.txt and filename.nc) at the beginning and end with the next file's base in a directory till the end of all the files in a directory again script has to enter f in command prompt..... and has to run go my.jnl ; ; again change file base name in my.jnl file I replaced base of file manually one after another by putting my.jnl file in separate directory by this script Code:
#!/bin/bash
# Replaces string in a jnl file
#it kills my time in replacing string..
OLD="data1"
NEW="data2"
TFILE="/tmp/out.tmp.$$"
for file in *.jnl; do
if [ -f $file -a -r $file ]; then
sed "s/$OLD/$NEW/g" "$file" > $TFILE && mv $TFILE "$file"
else
echo "Error: Cannot read $file"
fi
doneAs I am very poor in programming I could not able to do the task which I actually required for my task I looking forward for positive reply... Thanks in advance.. Last edited by nex_asp; 12-03-2012 at 06:54 AM.. Reason: code tags |
| Sponsored Links | ||
|
|
#2
|
|||
|
|||
|
Did you consider a "here document" (c.f. man bash)? Run this script: Code:
$ f <<EndOfCommands go my.jnl column=4/skip=1/type=num,text ............filename.txt --- --- some code...to do some task --- save/file=filename.nc q EndOfCommands If the delimiter (EndOfCommands in this case) is unquoted, the lines are expanded etc., so you can use shell variables. |
| Sponsored Links | ||
|
|
#3
|
|||
|
|||
|
Code:
asp@nex:~$ f
NOAA/PMEL TMAP
FERRET v6.82
Linux 2.6.18-308.8.2.el5PAE 32-bit - 08/03/12 3-Dec-12 16:44
yes? go my.jnl
! this is my.jnl columns/skip=1/delim="\t,\b"/type="numeric,text,numeric,latitude" filename.txt
let time = v1
let cast = v2
let level = v3
let depth =v4
list/file = filename.nc/format=cdf/clobber v1,v2,v3,v4
listing filename.nc
yes ? q
asp@nex:~$ here again f should be typedNo I didn't consider, when I run above script I got some error its because of ferret my.jnl is a file which is containing filename.txt as well as filename.nc base of both .txt and .nc are same...that is filename example data.txt data.nc after each execution of go my.jnl it needs to be quite otherwise I will get memory error, as my text file size is about 10 MB, once again it should write. after quite...f in command prompt.. and then go my.jnl here i will paste my jnl...then u will have come to know... Code:
! this is my.jnl columns/skip=1/delim="\t,\b"/type="numeric,text,numeric,latitude" filename.txt let time = v1 let cast = v2 let level = v3 let depth =v4 list/file = filename.nc/format=cdf/clobber v1,v2,v3,v4 Note : first filename.txt comes after " , and second filename.nc comes after = |
|
#4
|
|||
|
|||
|
Sorry - I don't have a clue what ferret is or what it does beyond its zoological equivalent. Either you tell us more specifically what you need, so we can help, or you take the hints and proposals given and try yourself to understand/expand/improve.
I GUESS go my.jnl itself is a call to a script in ferret. So try reducing the here document to the call and to the q uit command. |
| Sponsored Links | |
|
|
#5
|
|||
|
|||
|
I just want shell script...
I just want want shell script to do following task
if possible try to write script from following ideas 1. read all the files name in a directory and write filename in new text file 2.Assume the directory will be having one more text file(my.jnl ) will have some filename inside with extension .txt and .nc, so search the filename and start some counter 3. once execution of quite command, again command prompt comes with user@hostname, then write the next file base name into first searched location, and so on till the end of new text file I hope you will understand... |
| Sponsored Links | ||
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Scripting question | moe2266 | Shell Programming and Scripting | 1 | 08-02-2007 01:21 AM |
| Scripting question | gonzotonka | Solaris | 1 | 04-27-2006 07:04 PM |
| scripting question | carlvernon | Shell Programming and Scripting | 10 | 04-21-2006 06:42 AM |
| scripting question | batmike | Shell Programming and Scripting | 3 | 11-26-2002 03:58 PM |
| another scripting question | kristy | UNIX for Dummies Questions & Answers | 1 | 05-07-2001 12:02 PM |
|
|