For the purposes of this exercise, how do you define "comment"?
A basic outline of what you want is something like:
If you assume that any line containing an octothorpe (#) has a comment, comment_present could be:
but, of course, that will treat quoted and backslash escaped octothorpes as comments when bash would not.
Writing a full parser to find C or shell or some other language's comments accurately in bash is a non-trivial challenge.
Last edited by Don Cragun; 11-20-2014 at 03:38 AM..
Reason: Print line number and line; not just line number.
This User Gave Thanks to Don Cragun For This Post:
Here are a couple of files related to some ideas I have had on providing a mechanism for navigation across a set of "favorite directories."
I would appreciate any comment on the approach and any other useful recommendations.
Please visit my project home page on sourceforge Bash Navigator Home... (0 Replies)
Suppose i have a file like this:
#bla bla
#bla bla bla bla bla
Bla
BLA
BLA BLA #bla bla
....
....
how can i remove all comments from every line,even if they are behind commands or strngs that are not comments?
any idea how i could do that using awk? (2 Replies)
I'm trying to make a simple search script but cannot get it right. The script should search for keywords inside files. Then return the file paths in a variable. (Each file path separated with \n).
#!/bin/bash
SEARCHQUERY="searchword1 searchword2 searchword3";
for WORD in $SEARCHQUERY
do
... (6 Replies)
I must write a script to change all C++ like comments:
// this is a comment
to this one
/* this is a comment */
How to do it by sed? With file:
#include <cstdio>
using namespace std; //one
// two
int main() {
printf("Example"); // three
}//four
the result should be: (2 Replies)
Hello All,
I need a bash shell script to find out a day from the date.For example we give the date(20100227/YYYYMMDD) then we get the day 'Saturday'.
Thanks in advance,
Satheesh (5 Replies)
Hi All,
I wanted to show on stdout that a file was found right after it happens due to indicate the activity of long search. Further more I want to store the result of the find in a file.
I have tried this:
echo -n "Searching"
find . -name Makefile -type f -print -exec echo -n "." \; >... (16 Replies)
#!/bin/bash
timevar=`date +%F_”%H_%M”` #-- > Storing Date and Time in a Variable
get_contents=`cat urls.txt` #-- > Getting content of website from file. Note the file should not contain any http:// as its already been taken care of
######### Next Section Does all the processing #########
for i... (0 Replies)
Hi, I'm trying to write a script to search through my computer and
find all .jpg files and put them all in a directory. So far I have
this:
for i in `find /home -name '*.jpg' ` ; do mv $i home/allen/Pictures/PicturesFound ; done
When I run it, I get this error (this is only part of it, it... (2 Replies)
Hi All,
I am very new to UNIX and I have tried this for a longtime now and unable to crack it....
There is a file that is continuously updating. I need to search for the string and find the date @ which it updated every day.....
eg:
String is "work started"
The log entry is as below:
... (1 Reply)
I would like to remove comments from a bash script. In addition, I would like to remove lines that consist of only white spaces, and to remove blank lines.
#!/bin/bash
perl -pe 's/ *#.*$//g' $1 | grep -v ^]*$ | perl -pe 's/ +/ /g' > $2
#
# $1 INFILE
# $2 OUTFILE
The above code... (10 Replies)
Discussion started by: LessNux
10 Replies
LEARN ABOUT BSD
learn
LEARN(1) General Commands Manual LEARN(1)NAME
learn - computer aided instruction about UNIX
SYNOPSIS
learn [ -directory ] [ subject [ lesson ] ]
DESCRIPTION
Learn gives Computer Aided Instruction courses and practice in the use of UNIX, the C Shell, and the Berkeley text editors. To get started
simply type learn. If you had used learn before and left your last session without completing a subject, the program will use information
in $HOME/.learnrc to start you up in the same place you left off. Your first time through, learn will ask questions to find out what you
want to do. Some questions may be bypassed by naming a subject, and more yet by naming a lesson. You may enter the lesson as a number
that learn gave you in a previous session. If you do not know the lesson number, you may enter the lesson as a word, and learn will look
for the first lesson containing it. If the lesson is `-', learn prompts for each lesson; this is useful for debugging.
The subject's presently handled are
files
editor
vi
morefiles
macros
eqn
C
There are a few special commands. The command `bye' terminates a learn session and `where' tells you of your progress, with `where m'
telling you more. The command `again' re-displays the text of the lesson and `again lesson' lets you review lesson. There is no way for
learn to tell you the answers it expects in English, however, the command `hint' prints the last part of the lesson script used to evaluate
a response, while `hint m' prints the whole lesson script. This is useful for debugging lessons and might possibly give you an idea about
what it expects.
The -directory option allows one to exercise a script in a nonstandard place.
FILES
/usr/share/learn subtree for all dependent directories and files
/usr/tmp/pl* playpen directories
$HOME/.learnrc startup information
SEE ALSO csh(1), ex(1)
B. W. Kernighan and M. E. Lesk, LEARN - Computer-Aided Instruction on UNIX
BUGS
The main strength of learn, that it asks the student to use the real UNIX, also makes possible baffling mistakes. It is helpful, espe-
cially for nonprogrammers, to have a UNIX initiate near at hand during the first sessions.
Occasionally lessons are incorrect, sometimes because the local version of a command operates in a non-standard way. Occasionally a lesson
script does not recognize all the different correct responses, in which case the `hint' command may be useful. Such lessons may be skipped
with the `skip' command, but it takes some sophistication to recognize the situation.
To find a lesson given as a word, learn does a simple fgrep(1) through the lessons. It is unclear whether this sort of subject indexing is
better than none.
Spawning a new shell is required for each of many user and internal functions.
The `vi' lessons are provided separately from the others. To use them see your system administrator.
7th Edition October 22, 1996 LEARN(1)