@RudiC : You mean I should regroup them by moving into folders like aa, ab, ac and etc?
@Don Cragun : I have a word file named Pneumonoultramicroscopicsilicovolcanoconiosis.txt which has 18 hyphens on third line
I m not sure if other files also has more than 15. I can't seem to find a command that could search whether my files has more than 15 hyphens at 3rd line or not.
And the files have IPA alphabets and characters you'd mentioned like "$", <Double quotes>, "<", ">" and etc. Seems like it has almost all characters since its a dictionary folder
Fortunately, none of them are linked to one another. They are all individual txt files.
Targeted directories could be in same directories but there's no folders yet in that Folder. Probably have to mkdir
Creating the needed directories is no problem. They can easily be created on the fly as needed.
But... I still don't think I understand what you're trying to do.
The line you showed us above contains 20 hyphens, not 18. There are 18 hyphens before the 1st comma on that line. There are 19 hyphens between the [ and ] on that line. There are 20 hyphens on that line. You said you wanted to move files to a directory based on the number of hyphens on that line. Is there is different rule that describes which directory should get a file? Or, did you just miscount the hyphens on that line in your description above?
And please explain what:
Quote:
And the files have IPA alphabets and characters you'd mentioned like "$", <Double quotes>, "<", ">" and etc. Seems like it has almost all characters since its a dictionary folder
means. What does "the files have IPA alphabets" mean? I asked if your filenames contain any of the characters in the list $, ", ', and the <newline> character. I didn't ask if those characters appear in the file contents; I asked if they appear in any of your files' filenames. And, what is an "IPA alphabet"?
If your filenames contain <newline> characters, I need to completely rethink what I was planning to do. If your filenames contain <dollar-sign> characters or <double-quote> characters, I can use <single-quote> characters to delimit filenames passed to rm. If your filenames contain <single-quote> characters as well, you can use <single-quote>s to quote everything except <single-quote>s and use <double-quote>s to quote <single-quote>s. But, this is sounding more and more like a job than something that is fun to do as a forum volunteer.
For people reading this who don't understand why find -print0 and xargs -0 can't be used to solve this problem, those options do not exist in those utilities on OS X. And, even if it did:
only processes one file at a time and executing mv 690,000 times is going to take forever. And, mv on OS X doesn't have a -t target_directory option. And, even with the relatively large ARG_MAX limit of 262144 on OS X, it won't be possible to move all of the files for a single directory in a single mv command. So, this project requires implementing a simplified command-line argument aggregator (i.e., with a superset of a subset of xargs capabilities) that can construct mv command lines with multiple file operands followed by a fixed directory operand that xargs can't create. (This could be handled by a simple helper shell script, but only if the filenames do NOT contain any <newline> characters.)
This User Gave Thanks to Don Cragun For This Post:
Oh, sorry I kind of miscounted the hyphens and yes I was basically too focused just on the word that I forgot to count other hyphens on the line as well.
What I really wanted to do was to sort by hyphen between the first word of 3rd line which is inside []
And about the IPA characters/symbols, I don't think it matters as I didn't realise you were asking just for the file names. However, the file contents contains IPA symbols [International Phonetic Alphabet] like "æʊθʃŋː" to guide me to pronounce the words. For example, to pronounce apple, I refer to either [ap-uh l] OR /ˈæp əl/ written on the 3rd line of the file. Sorry, I guess I was kinda distracted in the morning as well.
Some of my file names include "!", ".", "+" instead of space. Other than that, it is all single lined file name. And there isn't any quotes.
Sorry I thought it would be simple to execute/manipulate commands to 3rd line in txt files but seems like I am in deep deep trouble for a beginner It doesn't have to be done as this is just one of my personal project I apologize for all the trouble caused
Oh, sorry I kind of miscounted the hyphens and yes I was basically too focused just on the word that I forgot to count other hyphens on the line as well.
What I really wanted to do was to sort by hyphen between the first word of 3rd line which is inside []
And about the IPA characters/symbols, I don't think it matters as I didn't realise you were asking just for the file names. However, the file contents contains IPA symbols [International Phonetic Alphabet] like "æʊθʃŋː" to guide me to pronounce the words. For example, to pronounce apple, I refer to either [ap-uh l] OR /ˈæp əl/ written on the 3rd line of the file. Sorry, I guess I was kinda distracted in the morning as well.
Some of my file names include "!", ".", "+" instead of space. Other than that, it is all single lined file name. And there isn't any quotes.
Sorry I thought it would be simple to execute/manipulate commands to 3rd line in txt files but seems like I am in deep deep trouble for a beginner It doesn't have to be done as this is just one of my personal project I apologize for all the trouble caused
Thanks for the information. That helps a lot. I think I'll be able to pull something together this weekend that should work, but I still need a little more information.
I believe that you want to count the number of hyphens between the [ at the start of the third line in a file and the first space or ] that follows it on that line. Is that correct?
If for some reason a file is unreadable, contains less than three lines, or the third line does not contain an open square bracket ([) followed by a close square bracket (]), should that file be moved to the 0H directory (since there aren't any hyphens on the 3rd line), left where they are (with no notice printed), left where they are with a message explaining why the file was not moved, or moved to another directory (perhaps named Unknown)?
I believe that the first character on the third line will always be a [ character. Is that always the case, or should the script verify the line format before counting hyphens?
P.S. I was wrong about find -print0 and xargs -0 on OS X (they are supported), but they won't help in this case. But the non-standard option that would really help here (mv -t destination_directory) is not available on OS X.
This User Gave Thanks to Don Cragun For This Post:
Thank you so much for very thoughtful questions. It makes it easier put into words now
Yes I would like to count hyphens just in between the [] on the 3rd line.
If the filename is just one word, I believe there will always be [] on 3rd line.
However, if that one worded filename's pronunciation has only one sound like kill, day, ball, and etc, there will be no hyphen in it.
For example, kill.txt
And filenames with more than one word like this will have no brackets and no hyphens on the 3rd line.
Like this,
cats and dogs.txt
So yes if there are still [] on the 3rd line but no hyphens, I would want to move it to 0H folder.
Those with 1 hyphen for 1H, and 2 for 2H, and so on.
But if there isn't any brackets at all, it would probably be left behind or put into unknown like you mentioned.
I think its best to verify if there's [ before counting hyphens as I believe there's many of [] beyond the 3rd line in some file.
OK. We're making progress, but I still don't have clear requirements. Please answer each of the following questions:
You gave an example in post #21 you showed us a line 3 that contained 20 hyphens. Of those, 19 were between the [ and the ]. You originally said you wanted that file to go into the folder 18H, which was the number of hyphens between the [ and the comma and space that appears before the ]. Are you now saying that file should go into 18H (the number of hyphens between the [ and the closest following space or ]), or should that file go into 19H (the number of hyphens between the [ and the ])?
If a filename contains one or more spaces (e.g., cats and dogs.txt) there is no need to look at the contents of the file. Is this correct? Should that file be left in its current location or moved to 0H?
For files that do not have a space in the filename, verify that the 1st character on the third line is a [. If it isn't what should I do? Leave the file where it is and move on to the next file? Keep reading lines in that file until I find a line where the first character on the line is a [ and move that file based on the number of hyphens on that line? If you want something other than these choices, please give detailed, explicit directions on what to do.
What is the name of the directory containing these 690,000 files?
What directory should be used as the target directory where the directories 0H, 1H, etc. be created?
This User Gave Thanks to Don Cragun For This Post:
Yes I wanted [noo-muh-noh-uhl-truh-mahy-kruh-skop-ik-sil-i-koh-vol-key-noh-koh-nee-oh-sis, nyoo-] inside 18H, overlooking that there was one more - after the , . The files normally doesn't have , inside [] .
Initially I wanted to sort by the amounts of - in the first word inside [] on the 3rdline but it seems harder and harder. It's alright though. As long as the script move the file by the amount of - in [] be it at the 2nd word or more, I could still use it.
And yes if the file name is more than one word, there won't be [] on 3rd line, so no need to look at the contents of the file.
For files that do not have a space in the filename, verify that the 1st character on the 3rd line is a [ . And if it isn't, should be left behind as well.
Every file without[] on 3rd line should be left behind as 0H should only contain files that still has [] but no- on 3rd line.
The directory of the dictionary containing is this : /Users/Nexeu/Documents/Dict
And I wished to have targeted directory at /Users/Nexeu/Documents/Syllable/
Something like this
The number of hyphens in the 1st word is no problem as long as I know that is what you want.
I still have one unanswered question from question #2 in my last post:
Quote:
If a filename contains one or more spaces (e.g., cats and dogs.txt) there is no need to look at the contents of the file. Is this correct? Should that file be left in its current location or moved to 0H?
This User Gave Thanks to Don Cragun For This Post:
Hi 2 all,
i have had AIX 7.2
:/# /usr/IBMAHS/bin/apachectl -v
Server version: Apache/2.4.12 (Unix)
Server built: May 25 2015 04:58:27
:/#:/# /usr/IBMAHS/bin/apachectl -M
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_worker_module (static)
... (3 Replies)
Hello.
System : opensuse leap 42.3
I have a bash script that build a text file.
I would like the last command doing :
print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt
where :
print_cmd ::= some printing... (1 Reply)
Hi everybody,
I am new at Unix/Bourne shell scripting and with my youngest experiences, I will not become very old with it :o
My code:
#!/bin/sh
set -e
set -u
export IFS=
optl="Optl"
LOCSTORCLI="/opt/lsi/storcli/storcli"
($LOCSTORCLI /c0 /vall show | grep RAID | cut -d " "... (5 Replies)
Okay, so I have a rather large text file and will have to process many more and this will save me hours of work.
I'm not very good at scripting, so bear with me please.
Working on Linux RHEL
I've been able to filter and edit and clean up using sed, but I have a problem with moving lines.
... (9 Replies)
How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address
and column 3 contains “cc” e-mail address to include with same email.
Sample input file, email.txt
Below is an sample code where... (2 Replies)
I have a bunch of random character lines like ABCEDFG. I want to find all lines with "A" and then change any "E" to "X" in the same line. ALL lines with "A" will have an "X" somewhere in it. I have tried sed awk and vi editor. I get close, not quite there. I know someone has already solved this... (10 Replies)
Hi ,
i have some files of specific pattern ...i need to look for files which are having size greater than zero and move those files to another directory..
Ex...
abc_0702,
abc_0709,
abc_782
abc_1234 ...etc
need to find out which is having the size >0 and move those to target directory..... (7 Replies)
strange :)
can you tell why?:cool:
#!/bin/bash
echo " enter your age "
read age
if ; then
echo " you do not have to pay tax "
elif ]; then
echo " you are eligible for income tax "
else
echo " you dont have to pay tax "
fi (3 Replies)
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
Hi Friends,
Can any of you explain me about the below line of code?
mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`
Im not able to understand, what exactly it is doing :confused:
Any help would be useful for me.
Lokesha (4 Replies)