Creating a condition on a bash script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Creating a condition on a bash script
# 1  
Old 10-16-2017
Creating a condition on a bash script

I wrote a code to find codons in a DNA string. The only problem I have is how do I make the code only work for a file with DNA. This means the file only has the characters a,c,g,t and no white space characters.
# 2  
Old 10-16-2017
How about:
Code:
if ! grep -q '[^acgt]' file
then
  ...
fi

or
Code:
if grep -q '[^acgt]' file
then
  echo "This file contains non-acgt characters"
  exit 1
fi

# 3  
Old 10-17-2017
What Scrutinizer suggested will work if your "file with DNA" is a UNIX formatted text file that contains zero or more lines where each line contains a DNA string of zero or more characters.

If the files contain a single DNA string with no terminating <newline> character (which is what is specified in post #1), you'll need something more like:
Code:
#!/bin/bash
IAm=${0##*/}
tmpfile="$IAm.$$"
trap 'rm -f "$tmpfile"' 0
if ! tr -d 'acgt' < "$1" > "$tmpfile" || [ -s "$tmpfile" ]
then	printf 'File "%s" is not a DNA file.  Exiting.\n' "$1" >&2
	exit 1
fi
printf 'File "%s" is a DNA file.  Continuing...\n' "$1"
# Do whatever you want to do with the specified DNA file...

This script requires one operand that is a pathname of the file you want to test.
# 4  
Old 10-17-2017
Quote:
Originally Posted by Don Cragun
If the files contain a single DNA string with no terminating <newline> character (which is what is specified in post #1), you'll need something more like
Fair enough. Just out of curiosity: wouldn't something like:

Code:
(cat /file/in/question - < printf '\n') | ...

suffice? This would either add an empty line (which would be irrelevant) or terminate the last line properly. No?

bakunin
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Condition in bash script

I want get from user and pass these parameters to bash script. script should copy files in user home directory. FYI: each file might be exist or not, might be one of them exist or four of them. Here is my script, it always copy file1 and seems only one of them execute! #!/bin/bash for... (6 Replies)
Discussion started by: indeed_1
6 Replies

2. Shell Programming and Scripting

Creating bash script to process a data file based on the menu

Hey, im fairly new to unix and Im trying to make this unix project that would display a menu and do the following. MENU =========================== (p, P) Print users info (a, A) Add new user (s, S) Search user (d, D) Delete user (x,X) Exit Enter your choice: Trying to... (3 Replies)
Discussion started by: ultimaxtrd
3 Replies

3. Shell Programming and Scripting

Need Multiple checks inside if condition in a bash shell script

Hi, I need to perform the untar and rm operation if the file found is a .tar and does not have test.tar or hello.tar as the file names. Below is the loop to check the same. for tf in *.tar do if ] then found=1 ... (1 Reply)
Discussion started by: mohtashims
1 Replies

4. Shell Programming and Scripting

Bash script if condition not executing

issue is with .txt files (7 Replies)
Discussion started by: anil529
7 Replies

5. Shell Programming and Scripting

Need BASH Script Help to Move Files While Creating Directories

I've got this script to loop through all folders and move files that are more than 2 years old. I'm using the install command because it creates the necessary directories on the destination path and then I remove the source. I'd like to change the script to use the mv command since it is much... (4 Replies)
Discussion started by: consultant
4 Replies

6. Shell Programming and Scripting

Creating an Interactive Bash Script to Analyze a PCAP

Hello Everyone, I am currently trying to write a Bash Script to call a PCAP file. The command I will use in the script will be the following: tshark -r test.pcap -T fields -e frame.number -e frame.time -e eth.src -e eth.dst -e ip.src -e ip.dst -r ip.proto -E header=y -E separator=, quote=d -E... (4 Replies)
Discussion started by: MrTuxor
4 Replies

7. Shell Programming and Scripting

Script in bash wchich creating a new users...

Hi, I am a new on this forum but i like :) I need a script in bash which will be crating a new user with folder for websites. For example: I will run this program and he creating a new user(with my name) and folder whcich name like user and if i will localho/~user in browser, she show me files from... (1 Reply)
Discussion started by: puclavv
1 Replies

8. Programming

Creating a bash script that create/open database

Hi. I have two text files(tables) which include some information and I want to make some query codes using them. First of all, I want to create bash script that read this two tables, create/open database and insert data from files into database. #!/bin/bash while read line; do ... (1 Reply)
Discussion started by: rlaxodus
1 Replies

9. Shell Programming and Scripting

bash script for testing existence of files/folders and creating if neither exist

Hi, I am new to shell-scripting, and doing a lot of reading. I am having some trouble getting started with a simple testing of scripting. I have been experimenting with if, loops, for, test, etc., but still unsure. I seem to have the hang of it when it comes to creating a single file or... (6 Replies)
Discussion started by: me2
6 Replies

10. Shell Programming and Scripting

help needed with creating challenging bash script with creating directories

Hi, Can someone help me with creating a bash shell script. I need to create a script that gets a positive number n as an argument. The script must create n directories in the current directory with names like map_1, map_2 etcetera. Each directory must be contained within its predecessor. So... (7 Replies)
Discussion started by: I-1
7 Replies
Login or Register to Ask a Question