09-27-2007
Moving lines within a txt file
A newbie to shell scripting.....
I need some assistance in doing the following:
I have a system generated text file(a makefile basically).
Before I can execute the make command, I need to modify one section of this generated file.
The generated section is as follows:
# INCLUDE macro for SCI
#~~~~~~~~~~~~~~~~~~~~~~~
XYZ_MAIN_INCLUDE = \
-I/Path_1 \
-I/Path_2 \
-I/Path_3 \
-I/Path_4
Basically, Path_4 has be placed at the start of the INCLUDE section with appropriate changes to new line delimiters.
This modified section should look as follows:
# INCLUDE macro for SCI
#~~~~~~~~~~~~~~~~~~~~~~~
XYZ_MAIN_INCLUDE = \
-I/Path_4 \
-I/Path_1 \
-I/Path_2 \
-I/Path_3
I have to make similar changes to 6 different files in 6 different locations in the directory structure before I can execute make.
Can I achieve this using a shell script without having to modify all the files manually everytime I need to execute a make?
Thanks in advance for any suggestions.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I have a file with the following:
access-list.txt
router1
access-list 1 permit any any
access-list 1 deny any any
router2
access-list 2 permit any any
access-list 2 deny any any
router3
access-list 3 permit any any
access-list 3 deny any any
I want to hava an output that... (10 Replies)
Discussion started by: I-1
10 Replies
2. Shell Programming and Scripting
In other news, I have a colors text file with hundreds of lines, and I want to print only the even numbered lines. for example I have this file looks something like this:
ALLCOLORS.TXT
red red green red
blue red red red
green red red blue
green green green
blue blue blue
red blue blue blue... (1 Reply)
Discussion started by: ajp7701
1 Replies
3. Shell Programming and Scripting
I need to write a script that reads through an input .txt file and replaces the end value with the end value of the next line for lines that have distance <=4000. The first label line is not actually in the input. In the below example, 3217 is the distance from the end of the first line to the... (12 Replies)
Discussion started by: awknerd
12 Replies
4. Shell Programming and Scripting
I need some help deleting lines in a file that contain spaces. Im sure awk or sed will work but i dont know much about those commands. Any help is appreciated :D (7 Replies)
Discussion started by: r04dw4rri0r
7 Replies
5. Shell Programming and Scripting
I have one base file, and multiple target files-- each have uniform line structure so no need to use grep to find things-- can just define sections by line number.
My question is quite simple-- can I use sed to copy a defined block of lines (say lines 5-10) from filename1.txt to overwrite an... (3 Replies)
Discussion started by: czar21
3 Replies
6. Shell Programming and Scripting
Hi everyone,
I have two files (A and B) and want to combine them to one by always taking 10 rows from file A and subsequently 6 lines from file B. This process shall be repeated 40 times (file A = 400 lines; file B = 240 lines).
Does anybody have an idea how to do that using perl, awk or sed?... (6 Replies)
Discussion started by: ink_LE
6 Replies
7. UNIX for Dummies Questions & Answers
I have a diff command that does what I want but when comparing large text/log files, it uses up all the memory I have (sometimes over 8gig of memory)
diff file1.txt file2.txt | grep '^<'| awk '{$1="";print $0}' | sed 's/^ *//'
Is there a better more efficient way to find the lines in one file... (5 Replies)
Discussion started by: raptor25
5 Replies
8. Shell Programming and Scripting
Hello friends,
I have a TXT file with 300 lines in it. I need to shuffle all the lines (randomly) so that they get into different order. Can anyone pls provide easy way, if any?
I got it done by doing this below but I see it very lengthy/inefficient way.
call random function to generate... (2 Replies)
Discussion started by: prvnrk
2 Replies
9. Shell Programming and Scripting
Hi
I have a file with contents:
NAMES
John
carrey
williams
How can I get all the names and store them in seperate variables(or arrays)
please keep in mind that the no. of such names is not known.Three here is a bogus value
~thanks (4 Replies)
Discussion started by: leghorn
4 Replies
10. UNIX for Dummies Questions & Answers
I have a file in which each line is the name of another file. Is there a way to serve them to the command line? For example, if the file contains
file1.txt
file2.txt
file3.txt
...
file9.txt
is there a way to insert them in the command as a batch?
If I ran a command like
grep... (4 Replies)
Discussion started by: wbport
4 Replies
LKSH(1) BSD General Commands Manual LKSH(1)
NAME
lksh -- Legacy Korn shell built on mksh
SYNOPSIS
lksh [-+abCefhiklmnprUuvXx] [-+o opt] [-c string | -s | file [args ...]]
DESCRIPTION
lksh is a command interpreter intended exclusive for running legacy shell scripts. It is built on mksh; refer to its manual page for details
on the scripting language.
LEGACY MODE
lksh has the following differences from mksh:
o lksh is not suitable for use as /bin/sh.
o There is no explicit support for interactive use, nor any command line editing code. Hence, lksh is not suitable as a user's login
shell, either; use mksh instead.
o The KSH_VERSION string identifies lksh as ``LEGACY KSH'' instead of ``MIRBSD KSH''.
o Some mksh specific extensions are missing; specifically, the -T command-line option.
o lksh always uses traditional mode for constructs like:
$ set -- $(getopt ab:c "$@")
$ echo $?
POSIX mandates this to show 0, but traditional mode passes through the errorlevel from the getopt(1) command.
o lksh, unlike AT&T UNIX ksh, does not keep file descriptors > 2 private.
o lksh parses leading-zero numbers as octal (base 8).
o Integers use the host C environment's long type, not int32_t. Unsigned arithmetic is done using unsigned long, not uint32_t. Neither
value limits nor wraparound is guaranteed. Dividing the largest negative number by -1 is Undefined Behaviour (but might work on 32-bit
and 64-bit long types).
o lksh only offers the traditional ten file descriptors to scripts.
SEE ALSO
mksh(1)
https://www.mirbsd.org/mksh.htm
https://www.mirbsd.org/ksh-chan.htm
CAVEATS
lksh tries to make a cross between a legacy bourne/posix compatibl-ish shell and a legacy pdksh-alike but ``legacy'' is not exactly speci-
fied. Parsing numbers with leading zero digits or ``0x'' is relatively recent in all pdksh derivates, but supported here for completeness.
It might make sense to make this a run-time option, but that might also be overkill.
The set built-in command does not have all options one would expect from a full-blown mksh or pdksh.
Talk to the MirOS development team using the mailing list at <miros-mksh@mirbsd.org> or the #!/bin/mksh (or #ksh) IRC channel at
irc.freenode.net (Port 6697 SSL, 6667 unencrypted) if you need any further quirks or assistance, and consider migrating your legacy scripts
to work with mksh instead of requiring lksh.
MirBSD February 11, 2013 MirBSD