Check These Out
apart from not being generalisable to all shells, `Y <<< X` seems nicer to me than `echo X | Y`, e.g.
$ <<< lol cat;
it reads easier, you type less, and it also looks cool
In this example, the command will recursively find files (-type f) under /some/path, where the path ends in .mp3, case insensitive (-iregex).
It will then output a single line of output (-print0), with results terminated by a the null character (octal 000). Suitable for piping to xargs -0. This type of output avoids issues with garbage in paths, like unclosed quotes.
The tr command then strips away everything but the null chars, finally piping to wc -c, to get a character count.
I have found this very useful, to verify one is getting the right number of before you actually process the results through xargs or similar. Yes, one can issue the find without the -print0 and use wc -l, however if you want to be 1000% sure your find command is giving you the expected number of results, this is a simple way to check.
The approach can be made in to a function and then included in .bashrc or similar. e.g.
$ count_chars() { tr -d -c "$1" | wc -c; }
In this form it provides a versatile character counter of text streams :)
dname is a directory named something like 20090803 for Aug 3, 2009. lastbackup is a soft link to the last backup made - say 20090802. $folder is the folder being backed up. Because this uses hard linking, files that already exist and haven't changed take up almost no space yet each date directory has a kind of "snapshot" of that day's files. Naturally, lastbackup needs to be updated after this operation. I must say that I can't take credit for this gem; I picked it up from somewhere on the net so long ago I don't remember where from anymore. Ah, well...
Systems that are only somewhat slicker than this costs hundreds or even thousands of dollars - but we're HACKERS! We don't need no steenkin' commercial software... :)
Replace 'csv_file.csv' with your filename.
a variation of avi4now's command - thanks by the way!
When working on a big proeject with SVN, you create quite much files, for now! Can just sit here and type svn add for all of them!
svn status will return a list of all of file which get ?(not add), "M"(Modified), "D"(Deleted)! This code just grep "?" flag, then add it into SVN again!
email random list can be created here: https://www.randomlists.com/email-addresses
example:
--------------------------------------------------------------------------------------------
user@ubuntu:~/workspace/SVN/haystak-repos/trunk/internal/src$ addpi
--------------------------------------------------------------------------------------------
Now that directory is in the list of fast access directories.
You can switch to it anytime like this:
--------------------------------------------------------------------------------------------
user@ubuntu:~$ pi internal`
user@ubuntu:~/workspace/SVN/haystak-repos/trunk/internal/src$ --------------------------------------------------------------------------------------------
Please note the backquote ( the symbol that shares its key with ~ in the keyboard )
pi will switch you to that directory.
To see the list of all fast access directories you have to say "cat ~/.pi"