General :: Split A Directory Based On The Filename Prefix?
Mar 5, 2010
I have a very large directory with probably millions of small files in it. It's taking forever to run ls on the directory.
Is there an easy script that I can run to split the directory into smaller ones, based on the prefixes of the filenames. My goal is to wind up with something similar to what the Debian archives' pool directory looks like.
have a gzip file ABC_000023232.gzipBCD_023232032.gzipI want to split these files into smaller files but keep the extension same because I am using this as a variable in a script
I am using the following command: zgrep -a --text "TEST" * | awk -F"[ .,]" '{sub(".*:","",$6); sub(",.*","",$7); print $1,$6,$7,$10} and getting N3 2009-11-25 20:12:57 TEST N4 2009-11-28 10:42:18 TEST N6 2009-12-01 10:00:24 TEST
If I only want to search the log file after 2009-11-29, what shall I change the command?
From this directory, I want to know how I could use grep to display files based on part of their filename - for example those starting with "Account" or those ending in ".sh".
I have a directory that has a large number of files, around 1.5 million at this point. If I go to the directory and type in "ls filename" for a filename that I know exists, ls just hangs. I have let it run for over 20 minutes and it never does anything. Up until yesterday the directory was working fine through samba serving up files, but now it doesn't return anything. How to proceed from here?
I'm currently trying to organize a media server so that things will be in some kind of logical order rather than the current setup of dumping everything of a certain content type into a single folder. However, the size and diversity of content within these disorganized folders precludes me doing things manually. Does anyone know of a program or script that could sort the files into folders based on part of a filename
Since I'm not building a specific piece of software but a shell script, I hope this is in the right forum. At work, we use RHEL for the basic system but have Windows clients attached as well. On the Win side, there's a program that I'm trying to duplicate on the Linux side. Because of established procedures, I can't change the way files are named so please don't suggest I do that (my boss would not be happy). We have files stored on an NFS share we manipulate on either side.
The program is used to copy files from one directory to another, based on the filenames. The first two characters of the filename are ignored (they're for human-readable sorting purposes only), the next four characters are the time, and then all characters after that are ignored. The time is read and the file gets copied at that time. (This was all done in VC++ many years ago, and nobody knows where the source code is.) For example, a file named 2d0730abcd.txt would be copied from the source directory to the destination directory at 7:30am.
It seems to me that it should be fairly straightforward to build a shell script on the Linux side to do the same thing, but darned if I can figure out which magical combination of commands to use. Would the shell script end up creating a giant pile of AT commands?
$ uname -a Linux a 2.6.35.10-74.fc14.i686.PAE #1 SMP Thu Dec 23 16:10:47 UTC 2010 i686 i686 i386 GNU/Linux $ lsb_release -a LSB Version: :core-4.0-ia32:core-4.0-noarch
[Code].....
How can I set a pattern that will output a filename equal to the original filename? E.g.
I am trying to move all the txt files with a script from multiple directories to one directory, adding the parent directories of the files to the file names.It's a little complicated to explain, but i hope the script i have so far explains what im trying to do better:
in error the directory filename has " " character and i ca not open it, somebody can help me either to rename de directory or delete it, i tried to delete i and rename, but it is no possible
itcam /itm/media =>rm itmmedia > rm: itmmedia: A file or directory in the path name does not exist. itcam /itm/media =>rm -i itmmedia > s rm: itmmedias: A file or directory in the path name does not exist. itcam /itm/media =>
I'm pretty new to bash scripting, but I really want to wrap my head around it.What I'm trying to do is: From directory "A": Go in to all subdirectories and rename all files within icrementally according to the directory name. SO:
I have downloaded torrent from some chinese tracker. It has ???? and some other symbol charaters in directory name. How to delete that file and directory?
I have a directory of orchestral music .ogg files from a family member. Each track is from a different artist and the CDDB entry adds a ":" character after the artist name in the track title.
I would like to parse file names in any given directory and search for the string Code: Select all: and replace it with Code: Select all_ According to this post on stackoverflow, I can use Perl to accomplish this task. I've tried Code: Select allperl -i.bak -pe 's/:/_/' but since I am still learning Perl I'm probably commiting a PEBKAC error.
How would I go about solving this issue with regular expressions using Perl?
I am trying to follow this tutorial below so that I can get Text to the right of icons on the GNOME desktop. [URL] Everything so far has worked fine, except when I get to step 3 where I compile Nautilus. When I try to run the command ./configure --prefix=/usr It tells me bash: ./configure: No such file or directory
Not using filename encryption when you create a new encrypted folder is easy, but how to disable it in the home encryption that is automatically set up by the Karmic installation CD?
Is it possible to split the home directory into 2, 1 for the personal files (documents, images, videos, music, etc.) and another for the setting files (config, temp, etc.)
I've installed ethernet adapter, it is made in china from a manufacturer called FOX. The driver for that adapter is supported for sco linux kernel version 2.4.x and 2.5.x .However, I'm using Centos5 but the OS didn't recognize the adapter alone, so I'm trying to follo instructions on the driver on the attached CD.
The CD contains file named "SC92031.c", the instructions tell me to do the following "Compile the driver source files and it will generate sc92031.o"
I really missed the old Ubuntu file/dir. copying feature. When I copied in nautilus file explorer and paste into a terminal or text editor, I got the exact path (eg. /home/user/abc.txt), but when coming the Ubuntu 10.04, it added some "file://" prefix to the actual path (eg. file:///home/user/abc.txt), and I always had to manually delete the "file://" prefix. I don't see clearly that we need to place "file://" in front of the actual path (maybe just in the case we want to put the path in an Internet browser?). Wish this reversed back.
've googled first - but why is this in front of my username? (and dir) I have never seen it before but am new to terminal and want to learn.I am trying to rm the .Trash (some locked crap) sudo rm -rf /* isn't working and this weird 'prefix' is in front of every directory. Have I hosed it
I notice that on DistroWatch, the descriptions include "debian based", "arch based", etc. For the newbie, is there any practical difference between the different bases, or is it a Coke vs Pepsi type question?
Is a distro based on Debian say, easier for a newbie to learn or work with than say one that is FreeBSD based?