Thanks Fletcher! That worked great! The only remaining problem I had was that 
it still threw errors because the enclosing folder had multiple words. However, 
once I changed it to a single word, the issue was resolved, and the script 
worked as expected.

Kind regards,

Bill Kochman


> On Jul 18, 2025, at 12:24 AM, [email protected] wrote:
> 
> You can enclose the file name that might have spaces with double quotes. 
> Changing the sed line to this should work.
> 
> sed -i '' "s/#BASENAME#/$filename_woext/g" "$fullfile"
> 
> [fletcher]
> 
> 
>> On Jul 17, 2025, at 7:20 AM, Bill Kochman <[email protected]> wrote:
>> 
>> Hello Fletcher,
>> 
>> I think I have figured out what the problem is. Adding set-x didn’t really 
>> help. But, when I tried it this time. it actually worked on 14 files and 
>> failed on 717 others. That was when I realized that all 14 files which were 
>> successful were one-word file names. All the rest are multi-word file names 
>> with spaces between the words.
>> 
>> So, I really don’t want to add dashes to those 717 file names unless I 
>> really have to. So do you know if there is a way to edit these scripts so 
>> that they will accept spaces between words. I think that will resolve this 
>> issue.
>> 
>> Thanks,
>> 
>> Bill Kochman
>> 
>>> On Jul 17, 2025, at 11:52 PM, [email protected] wrote:
>>> 
>>> The scripts do seem to work for me with a few test files. You could add 
>>> "set -x" to the top of the script and it will output all the commands being 
>>> executed. That might give you an idea what is going wrong.
>>> 
>>> processtxt.sh
>>> ----
>>> #!/usr/bin/env bash
>>> 
>>> set -x
>>> 
>>> directory="$1/*.txt"
>>> for f in $directory
>>> do
>>> echo "Processing $f..."
>>> fullfile="$f"
>>> filename=$(basename "$fullfile")
>>> filename_woext="${filename%.*}"
>>> sed -i '' "s/#BASENAME#/$filename_woext/g" $fullfile
>>> done
>>> ----
>>> 
>>> % ./processtxt.sh files
>>> 
>>> + directory='files/*.txt'
>>> + for f in '$directory'
>>> + echo 'Processing files/testing1.txt...'
>>> Processing files/testing1.txt...
>>> + fullfile=files/testing1.txt
>>> ++ basename files/testing1.txt
>>> + filename=testing1.txt
>>> + filename_woext=testing1
>>> + sed -i '' s/#BASENAME#/testing1/g files/testing1.txt
>>> 
>>> [fletcher]
>>> 
>>> 
>>>> On Jul 17, 2025, at 5:46 AM, Bill Kochman <[email protected]> wrote:
>>>> 
>>>> Greetings List,
>>>> 
>>>> I have an old shell script which I needed to use today and ran into a 
>>>> problem which I haven’t been able to figure out. I still have the BBEdit 
>>>> help file I wrote for myself years ago, but the instructions don’t seem to 
>>>> be working. I have two versions of the script, one for .txt files, and one 
>>>> for .html files.
>>>> 
>>>> I have been trying to use the script to add the file name of each file to 
>>>> the top and bottom of over 700 BBEdit files. However, after dropping the 
>>>> shell script into the Terminal window, and then dragging the selected 
>>>> folder full of files to the Terminal, and then removing the ending space 
>>>> and hitting my return key, I get an error for every single file in the 
>>>> folder which says “no such file or folder found".
>>>> 
>>>> I have placed the script both on the desktop, as well as in my Home 
>>>> folder. Likewise, I have done the same for the folder containing the 700+ 
>>>> BBEdit files. But no matter what I do, or where I place the script and 
>>>> folder, I still keep getting the error.
>>>> I am not sure what I am doing wrong.
>>>> 
>>>> I am currently running Sequoia 15.5 on a 2023 Apple Studio if that is of 
>>>> any help.
>>>> 
>>>> Did Apple do something which makes these two scripts no longer work 
>>>> properly, or am I just forgetting how to do this properly?
>>>> 
>>>> Below is the contents of both scripts. They are identical except for the 
>>>> fact that one has “html" in it, while the other has “txt" in it.
>>>> 
>>>> #!/usr/bin/env bash
>>>> 
>>>> directory="$1/*.txt"
>>>> for f in $directory
>>>> do
>>>> echo "Processing $f..."
>>>> fullfile="$f"
>>>> filename=$(basename "$fullfile")
>>>> filename_woext="${filename%.*}"
>>>>  sed -i '' "s/#BASENAME#/$filename_woext/g" $fullfile
>>>> done
>>>> 
>>>> 
>>>> #!/usr/bin/env bash
>>>> 
>>>> directory="$1/*.html"
>>>> for f in $directory
>>>> do
>>>> echo "Processing $f..."
>>>> fullfile="$f"
>>>> filename=$(basename "$fullfile")
>>>> filename_woext="${filename%.*}"
>>>>  sed -i '' "s/#BASENAME#/$filename_woext/g" $fullfile
>>>> done
>>>> 
>>>> Thanks in advance to anyone who can help.
>>>> 
>>>> Kind Regards,
>>>> 
>>>> Bill Kochman
>>>> 
>>>> -- 
>>>> This is the BBEdit Talk public discussion group. If you have a feature 
>>>> request or believe that the application isn't working correctly, please 
>>>> email "[email protected]" rather than posting here. Follow @bbedit on 
>>>> Mastodon: <https://mastodon.social/@bbedit>
>>>> --- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "BBEdit Talk" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to [email protected].
>>>> To view this discussion visit 
>>>> https://groups.google.com/d/msgid/bbedit/CD71B3FF-B1C9-4BEB-9CE8-82053C11265A%40gmail.com.
>>> 
>>> -- 
>>> This is the BBEdit Talk public discussion group. If you have a feature 
>>> request or believe that the application isn't working correctly, please 
>>> email "[email protected]" rather than posting here. Follow @bbedit on 
>>> Mastodon: <https://mastodon.social/@bbedit>
>>> --- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "BBEdit Talk" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> To view this discussion visit 
>>> https://groups.google.com/d/msgid/bbedit/6E08CEFD-AC53-4AC3-8DB2-917C7B0DBC68%40cumuli.com.
>> 
>> -- 
>> This is the BBEdit Talk public discussion group. If you have a feature 
>> request or believe that the application isn't working correctly, please 
>> email "[email protected]" rather than posting here. Follow @bbedit on 
>> Mastodon: <https://mastodon.social/@bbedit>
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "BBEdit Talk" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion visit 
>> https://groups.google.com/d/msgid/bbedit/B9BC2C54-C72B-4068-A94E-A4E9D4EE7393%40gmail.com.
> 
> -- 
> This is the BBEdit Talk public discussion group. If you have a feature 
> request or believe that the application isn't working correctly, please email 
> "[email protected]" rather than posting here. Follow @bbedit on Mastodon: 
> <https://mastodon.social/@bbedit>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "BBEdit Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion visit 
> https://groups.google.com/d/msgid/bbedit/E695F2D8-61D4-4820-8CA6-457773722DF6%40cumuli.com.

-- 
This is the BBEdit Talk public discussion group. If you have a feature request 
or believe that the application isn't working correctly, please email 
"[email protected]" rather than posting here. Follow @bbedit on Mastodon: 
<https://mastodon.social/@bbedit>
--- 
You received this message because you are subscribed to the Google Groups 
"BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/bbedit/887AAF35-D774-44C9-B30F-B15F24402854%40gmail.com.

Reply via email to