Ubuntu 16 Bash strange output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Ubuntu 16 Bash strange output
# 1  
Old 03-18-2017
Wrench Ubuntu 16 Bash strange output

Hello,

I work in Ubuntu 16.04, I am new to Bash and something is wrong with my script, please help.

I have a few hundreds of subjects data (like subj003.nii.gz, subj012.nii.gz etc. up to subj567.nii.gz) in a directory /usr/afewmoredirectories/subjects.

I may run for each subject a command like
Code:
recon-all -subject subj003 -i subj003.nii.gz -all

which runs without error.

Instead I try to automatize the process. So I create two files:

In the list.txt I have a column of all the subject id (like subj003, subj012 etc. up to subj567)
In the doit.sh I have 2 lines:
Code:
name=$1
recon-all -subject ${name} -i ${name}.nii.gz -all

Then I execute in the root terminal
Code:
cat list.txt | xargs -I @ -P 3 ./doit.sh @

and something is wrong because instead of running the commands the output is:
Code:
.nii.gzcannot find subj012

Could you please explain me what I is wrong?
# 2  
Old 03-18-2017
Without digging deeper, I suspect the list file to have DOS line terminators <CR> (aka \r, 0x0D, ^M). Remove those and retry.
This User Gave Thanks to RudiC For This Post:
# 3  
Old 03-20-2017
Thank you.
I tried

Code:
grep -URl ^M . | xargs fromdos
xargs: fromdos: No such file or directory

and

Code:
 grep -URl $'\r' . | xargs fromdos
xargs: fromdos: No such file or directory

Do you have any other suggestions?


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 03-20-2017 at 08:10 AM.. Reason: Added CODE tags.
# 4  
Old 03-20-2017
Hello lim-lim,

You should use Input_file name with grep command, like as follows.
Code:
grep "test_test" Input_file

Thanks,
R. Singh
# 5  
Old 03-20-2017
What be the output of either grep command?
Does fromdos run from the command line?
# 6  
Old 03-20-2017
You were right however. It was CR line terminators, I just did not check that properly.

Fromdos and dos2unix did not help, dunno why, but what helped was
Code:
vim list.txt +"%s/\r/\r/g" +wq

Then everything worked


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 03-20-2017 at 09:25 AM.. Reason: Added CODE tags.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Echo's strange output

Hi, Kindly help me to understand the behavior or logic of the below shell command $ echo $!# echo $echo $ $ $ echo !$# echo $# 0 I am using GNU bash, version 3.2.25(1)-release (2 Replies)
Discussion started by: royalibrahim
2 Replies

2. Shell Programming and Scripting

Strange output from find

How can I prevent find from outputting the directory name /home/xxxxxxxx/Backup/.system (which isn't even "other writable"? I am trying to search for files that are "world writable" on a shared web host using the find statement, and I want to prevent find from creating an error (because the of... (4 Replies)
Discussion started by: nixie
4 Replies

3. Shell Programming and Scripting

Strange suppression of output with bash and cygwin

Hi, although I am not expert in bash, so please forgive me if this is silly, I think that this is strange: I have this command: find . -type f -print0 |xargs -0 grep -i -e 'some rexp' and it works fine. But when I create a bash script (on cygwin) to run this command, there is no output !!!... (3 Replies)
Discussion started by: Niki999
3 Replies

4. UNIX for Advanced & Expert Users

strange output with du

Can someone please explain why I get two outputs with the du command? The first one gave me one. I also didn't ask for the second directory so why did it give that directory? $ du -h "/media/Part 1/Desktop/playlist" 775M /media/Part 1/Desktop/playlist $ du -h "/media/Part... (1 Reply)
Discussion started by: cokedude
1 Replies

5. Solaris

Getting strange output of who -r command

Hi At OK> prompt, I have run the boot -s command After system is coming on to multiuser state, when I run the " who -r" command, I get the following message # who -r run-level Oct 17 03:48 last= Means I dont see "S" after run-level keyword. Could any one... (2 Replies)
Discussion started by: amity
2 Replies

6. Ubuntu

Ubuntu strange behavior

It is so till login screen. I mean that when I boot my computer, Ubuntu shows a splash screen with mouse instead of Ubuntu logo and in the login screen it shows XUbuntu login screen... It began when I upgraded to previous kernel, I suppose, but I'm not sure... I can't say that it annoys me very... (6 Replies)
Discussion started by: Sapfeer
6 Replies

7. Shell Programming and Scripting

Strange error in bash script

Howdy all, I have a scritp that does a sqldump. But for some goofy reason, a certain part of it behaves uber strange. It does a daily dump of my sql, according to parameters I enter in hardcode. The script is: #!/bin/bash APP_NAME="app_com_site" wikiname="wiki_com_site" ... (8 Replies)
Discussion started by: saariko
8 Replies

8. Ubuntu

Ubuntu Jaunty's strange behaviour

Hi! My system seems to going crazy... Yesterday it flushes some settings, some settings it leave... I can't find the link between the settings it had reset: some of these settings I made two days ago and system was working fine and some more than a month ago. System's log says nothing. Moreover,... (2 Replies)
Discussion started by: Sapfeer
2 Replies

9. Shell Programming and Scripting

strange output

I had a similar script in solaris and it had no problem. I wrote this one in freeBSD and it gave me strange output. Can anyone please tell me why? thanks a lot #!/bin/sh #This is a shell script that checks file system capacity mounted on /home directory #If file system is over 90% capacity,... (1 Reply)
Discussion started by: k2k
1 Replies

10. UNIX for Dummies Questions & Answers

Strange output from grep

Hi, I am getting different output for grep depending which directory I am in. The following is a transcript of my session, I am using egrep but have also used grep -E. The directory names have been changed for security: $pwd /dir1/dir2/dir3/dir4 $echo 000000 |egrep -v $echo $? 1 $cd ..... (10 Replies)
Discussion started by: Bab00shka
10 Replies
Login or Register to Ask a Question