Sponsored Content
Top Forums Shell Programming and Scripting Bash to trim folder and files within a path that share a common file extension Post 303032427 by Don Cragun on Sunday 17th of March 2019 01:59:58 PM
Old 03-17-2019
Hi Peasant,
Here is a slightly modified version of your script that just uses options and variable expansions defined by the POSIX standards. But, of course, it still depends on us knowing the pathname of a shell that provides those standard variable expansions. (Note that find isn't needed for this; we can get what we need just using shell pathname expansions.)
Code:
#!/bin/bash
set -xv
# we are running this from ROOTDIR, or abort.
ROOTDIR=/home/cmccabe/rename
cd $ROOTDIR || exit 1
# matching name "R_2019*" to operate on desired directory names, expand this to be precise.

for RDIR in R_2019*/
do
	TRIMSTR=${RDIR%%-v5.6*}
	for FLN in $RDIR*.bam	# Note that RDIR contains a trailing /.
	do
		FLNSUB=${FLN%_R_2019_*}
		mv "${FLN}" "$FLNSUB.bam"
		# Use the fact that .bam and .bam.bai files are paired.
		mv "${FLN}.bai" "$FLNSUB.bam.bai"
	done
	# Now we shall rename the folder, after files inside have been renamed.
	mv "$RDIR" "${TRIMSTR}"
done

Hi cmccabe,
If Peasant's script (modified as suggested in post #5 worked for you, the script above should also work and should even run a little bit faster since it doesn't need to invoke find to get the job done.

I hope this helps,
Don
These 2 Users Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. AIX

trim file name extension????

Dear Chaps, What will I do if, I am not sure about the length of the file name, but only one thing that I want to remove only the last extension. e.g. abcdXXXXXX.pqrXXXXX.asc (X is any character) I want to trim only .asc (or,watever) so that resultant file name would be like... (1 Reply)
Discussion started by: vishal_ranjan
1 Replies

2. Windows & DOS: Issues & Discussions

How can I upload a zip folder on a unix path from my windows folder?

Hello, I am an amature at UNIX commands and functionality. Please could you all assist me by replying to my below mentioned querry : How can I upload a zip folder on a unix path from my windows folder? Thanks guys Cheers (2 Replies)
Discussion started by: ajit.yadav83
2 Replies

3. Shell Programming and Scripting

command to list files with path & date in a folder

Hi, I need command to display files with full path and date of files where are generated at every 5hrs in a folder. eg: /u01/app/test/orjthsd_1_1 Sun May 10 19:03:26 2009 /u01/app/test/weoiusd_1_1 Sun May 10 21:00:26 2009 thanks saha (3 Replies)
Discussion started by: saha
3 Replies

4. Shell Programming and Scripting

move set of files to the target path with different extension

I have the following files in the dir /home/krishna/datatemp abc.xml cde.xml asfd.txt asdf_20120101-1.xml asdf_20120101-2.xml asdf_20120101-3.xml asdf_20120101-4.xml Now I need to move the files having the pattern asdf_20120101-*.xml to the dir /home/krishna/dataout with the extn as... (1 Reply)
Discussion started by: kmanivan82
1 Replies

5. Shell Programming and Scripting

Moving files from parent path to multiple child path using bash in efficient way

Hi All, Can you please provide some pointers to move files from Base path to multiple paths in efficient way.Folder Structure is already created. /Path/AdminUser/User1/1111/Reports/aaa.txt to /Path/User1/1111/Reports/aaa.txt /Path/AdminUser/User1/2222/Reports/bbb.txt to... (6 Replies)
Discussion started by: karthikgv417
6 Replies

6. Shell Programming and Scripting

Rename specific file extension in directory with match to another file in bash

I have a specific set (all ending with .bam) of downloaded files in a directory /home/cmccabe/Desktop/NGS/API/2-15-2016. What I am trying to do is use a match to $2 in name to rename the downloaded files. To make things a more involved the date of the folder is unique and in the header of name... (1 Reply)
Discussion started by: cmccabe
1 Replies

7. Linux

How to print full path name along with file extension?

Hi I have a requirement like this: /abc/a/x.txt /abc/a/y.txt /abc/b/x.gz /abc/b/y.txt I need output like this: /abc/a:*.txt /abc/b:*.txt /abc/b:*.gz I have tried find /abc -type f -name "*.*" ||awk -F . '{print $NF}' it is print only extensions without path name. Please... (5 Replies)
Discussion started by: lijjumathew
5 Replies

8. Shell Programming and Scripting

Find common lines with one file and with all of the files in another folder

Hi! I would like to comm -12 with one file and with all of the files in another folder that has a 100 files or more (that file is not in that folder) to find common text lines. I would like to have each case that they have common lines to be written to a different output file and the names of the... (6 Replies)
Discussion started by: Eve
6 Replies

9. Shell Programming and Scripting

Find common lines between all of the files in one folder

Could it be possible to find common lines between all of the files in one folder? Just like comm -12 . So all of the files two at a time. I would like all of the outcomes to be written to a different files, and the file names could be simply numbers - 1 , 2 , 3 etc. All of the file names contain... (19 Replies)
Discussion started by: Eve
19 Replies

10. Shell Programming and Scripting

Bash to create sub directories from specific file extension

In the bash below I am trying to create sub-directories inside a directory from files with specific .bam extensions. There may be more then one $RDIR ing the directory and the .bam file(s) are trimmed (removing the extension and IonCode_0000_) and the result is the folder name that is saved in... (2 Replies)
Discussion started by: cmccabe
2 Replies
gacutil(Mono 1.0)														 gacutil(Mono 1.0)

NAME
gacutil - Global Assembly Cache management utility. SYNOPSIS
gacutil [-user] [command] [options] DESCRIPTION
gacutil is a tool used by developers to install versioned assemblies into the system Global Assembly Cache (GAC) to become part of the assemblies that are available for all applications at runtime. Notice that they are not directly available to the compiler. The convention is that assemblies must also be placed in a separate directory to be accessed by the compiler. This is done with the -package directive to gacutil. The tool allows for installation, removal, and listing of the contents of the assembly cache. The GAC is relative to the Mono installation prefix: mono_prefix/lib/mono. COMMANDS
-i <assembly_path> [-check_refs] [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] Installs an assembly into the global assembly cache. <assembly_path> is the name of the file that contains the assembly manifest The -package option can be used to also create a directory in in prefix/lib/mono with the name NAME, and a symlink is created from NAME/assembly_name to the assembly on the GAC. This is used so developers can reference a set of libraries at once. The -root option is used to specify the "libdir" value of an installation prefix which differs from the prefix of the system GAC. Typical automake usage is "-root $(DESTDIR)$(prefix)/lib". To access assemblies installed to a prefix other than the mono prefix, it is necessary to set the MONO_GAC_PREFIX environment variable. The -gacdir option is included for backward compatibility but is not recommended for new code. Use the -root option instead. The -check_refs option is used to ensure that the assembly being installed into the GAC does not reference any non strong named assemblies. Assemblies being installed to the GAC should not reference non strong named assemblies, however the is an optional check. -l [assembly_name] [-root ROOTDIR] [-gacdir GACDIR] Lists the contents of the global assembly cache. When the <assembly_name> parameter is specified only matching assemblies are listed. -u <assembly_display_name> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] Uninstalls an assembly from the global assembly cache. <assembly_display_name> is the name of the assembly (partial or fully qualified) to remove from the global assembly cache. If a partial name is specified all matching assemblies will be uninstalled. As opposed to the install option that takes a filename, this takes as an argument the assembly name, which looks like this: MyLibrary.Something, version=1.0.0.0, publicKeyToken=xxxx,culture=neutral Notice that you can have spaces in the command line. There is no need to quote them. Performs a greedy removal. If you only specify one component like, "MyLibrary.Something", it will remove all versions of the library. -us <assembly_path> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] Uninstalls an assembly using the specified assembly's full name. <assembly path> is the path to an assembly. The full assembly name is retrieved from the specified assembly if there is an assembly in the GAC with a matching name, it is removed. Unlike the -u option this option takes a file name, like this: Example: -us myDll.dll -ul <assembly_list_file> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] Uninstalls one or more assemblies from the global assembly cache. <assembly_list_file> is the path to a test file containing a list of assembly names on separate lines. Example -ul assembly_list.txt assembly_list.txt contents: assembly1,Version=1.0.0.0,Culture=en,PublicKeyToken=0123456789abcdef assembly2,Version=2.0.0.0,Culture=en,PublicKeyToken=0123456789abcdef FILES
On Unix assemblies are loaded from the installation lib directory. If you set `prefix' to /usr, the assemblies will be located in /usr/lib. On Windows, the assemblies are loaded from the directory where mono and mint live. /etc/mono/config, ~/.mono/config Mono runtime configuration file. See the mono-config(5) manual page for more information. WEB SITE
Visit: http://www.go-mono.com for details SEE ALSO
mcs(1),mono(1) gacutil(Mono 1.0)
All times are GMT -4. The time now is 05:50 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy