r_bash – Telegram
Help with creating a noscript for transcoding files located in subdirectories with FFMPEG

Hi. I'm trying to write a noscript that locates all video files (.mkv in this case) from subdirectories, transcodes them with FFMPEG to HEVC, and stores the output in another HDD, **preserving the directory tree**.

**Example:**

I want to transcode /videos/pets/cats.mkv to HEVC and store the output inside /hdd2/pets/cats\_hevc.mkv

This is the noscript that I currently have, but it doesn't preserve the directory structure nor search in subdirectories (I tried to use 'find' but I couldn't create new folders in the output location):

#! /bin/bash
for file in *.mkv;
do
ffmpeg -i "$file" -pix_fmt yuv420p10le -map 0:v -map 0:a -c:v libx265 -crf 21 -preset slow -c:a aac -b:a 128k "/path/to/output/directory/${file%.*}_hevc.mkv";
done
echo "Conversion complete!"

How can I do that? I've been trying for hours but couldn't find a way to make it work.

Thanks.

https://redd.it/z4qa0n
@r_bash
Help with Bash homework, convert Uppercase to Lowercase in txt file

Hello, I have to write a line of simple Bash code to convert every Uppercase letter to lowercase in a .txt file.

Can anyone help?

https://redd.it/z5302q
@r_bash
no way to record PWD in the bash history i guess?

I want a better history, and did this


export HISTTIMEFORMAT="%F%H:%M:%S [$sshkeycomment] "

$ssh\
key_comment is figured out in a profile.d noscript and simply contains the ssh key comment of the key of the person that logged in (via ssh...). Or contains "n/a".

I can see that the timestamps are now recorded as a #-comment in .bash_history.

Its just one thing missing, would be nice to see the current PWD where the comment was entered.
Adding $PWD to HISTTIMEFORMAT doesnt work because thats simply not recorded in the history.

Might there be a trick to get it recorded anyway? :)
Cant see any way from the man page...

https://redd.it/z583sh
@r_bash
social nets from bash lynx

m.facebook.com worked for me in 2021. gmail stopped working early 2021 because of javanoscript, tho had used html mode a decade. a coupla years ago linkedin kept trying to catchpa me but despite scp failed. have seen bash noscripts for twitter and reddit but never worked. anyone care to give a general status report with urls?

https://redd.it/z5jr1y
@r_bash
Pulling information about processes from /proc/pid/stat

Hi, I need to display information about all running processes (pid, ppid) from /proc/pid/stat. Any tips how to get around this?

https://redd.it/z5yxu4
@r_bash
How to log bash commands in some simple way?

I would like to log bash commands to a log file. Seems easy enough, but i have searched and searched and not found a simple and sufficient method.

It seems like this should be possible by hooking in to some bash function/variable, but there is always something missing:/

I tried enhancing the history a bit here https://www.reddit.com/r/bash/comments/z583sh/no\_way\_to\_record\_pwd\_in\_the\_bash\_history\_i\_guess but that failed.
Sorry for that untested post by the way.

The utility "noscript" almost seems good enough, but for some reason there is no way to get a timestamp for each command!? (or is there?)
(i have seen solutions where the output of noscript is piped through for instance 'ts', but i would really like to avoid too many sub-processes and pipes and stuff, that will just cause problems later on).

I saw one solution where PROMPT_COMMAND was used together with "history | tail -n", but that wont work when commands take long to complete. The timestamp will be when the command finished...

Basically i would like to log like this

>2022-11-27 12:00 [user\] [env-var\] [cwd\] the command...

Where 'env-var' could be any variable from the environment.

Is there really no way to just get bash to execute some function that gets the input passed as arguments each time a command is executed?

Sorry for posting yet another of these questions. I have found many many questions kinda like this, but really strangely enough no simple and satisfactory solutions.

https://redd.it/z6119l
@r_bash
any help for a noob learning his first noscripts? im trying to make them funny and functional

This all just fun between friends, my friend Lucy is interested in learning Linux like me, and make the joke that she'll always be a root vegetable not a root user. I even had help making another noscript which randomly decides which random yet amusingly shaped root vegetable she is today. She loves it. I'm working on another, and obviously I thought i put it together well enough, but I'm obviously just more confident than I am skilled, but that's how we learn right by trying stuff. Anyway here's my code if someone could make it work id study from it for days re-writing different but similar ones to check if my new-found instincts are right. But if someone could just give me general hints that'd be good too, i want to learn anyway I can.

\#!/bin/bash

echo "Thanks to traversery media"

sleep 3

read -p "what is your name?" NAME

if [ "$NAME" \] == lucy or == Lucy

then read -p "are you a potato?"

if $INPUT1 echo "$ANSWER1"

else

if $INPUT2 read -p you another root vegetable?

if $INPUT1 then echo "$ANSWER1" if $INPUT2 echo "$ANSWER3"

INPUT1 yes

INPUT2 no

\#ANSWER2 read -p are you another root vegetable?

ANSWER1 "Your ok then, your names on the root list you may enter"

ANSWER3 "fatal logical error does not compute according to my database all known

lucys are root vegetables not root fatal error forcing shutdown"

else echo "$ANSWER1"

fi

https://redd.it/z64iuf
@r_bash
Scraping weather info

Hi, I’m trying to scrape some weather information using sed and grep from: https://api.met.no/weatherapi/locationforecast/2.0/classic\?lat\=60.795\&lon\=10.691

What I’m trying to do is:
1. extract the temperature forecast for the current hour, the next hour and the hour after that.
2. extract the next precipitation forecast.
3. the date and time when the meteorological data has been scraped.

Example of how I want the output to look (I want them “stacked”/under each other, but couldn’t format that):
3
0
-4
Cloudy
2022-11-24 10:03

What I know is that I probably should grep something, but not sure what and how

curl -s https://api.met.no/weatherapi/locationforecast/2.0/classic\?lat\=60.795\&lon\=10.691 | grep

I have found these commands that I think could be useful, but I don’t know how to use them in this case.

grep -Eo "0-9{2}:0-9{2}:0-9{2}"
date +"%Y-%m-%d"
date +"%Y-%m-%d %H:%M"

https://redd.it/z3f73f
@r_bash
Is there something like w3school but for bash? or any other shell?

I'm looking for an online resource for learning shell noscripting. I dont really find youtube lessons helpful so written material works better for me. Books could also work tbh but no video plz :D

https://redd.it/z68zbh
@r_bash
I'm currently taking a Google Cloud Course that includes Qwiklabs. I've been tasked with translating one of the labs into a linux bash noscript. I've done that but i'd like someone who knows what they're doing to take a look at it before i turn it in. I'd really appreciate it. Thanks in anticipation.

I'm currently a big noob trying to wrap my head around tech. please be nice

https://redd.it/z6ala6
@r_bash
What does this noscript do? I need to explain what this noscript does for a question on my classwork but my teacher isn't satisfied with my answer. Can anyone provide some insight into what exactly is happening with this noscript?
https://redd.it/z6c7x0
@r_bash
Getopts to allow only 1 option

How can I make getopts to allow only one option?

while getopts ":ab" option
do
case $option in
a)
echo "test1"
;;
b)
echo "test2"
;;
esac
done

This is an example loop, running the noscript

./noscript.sh -a -b

will return both a and b cases. How can I make it to show an error message instead?

https://redd.it/z6hq3c
@r_bash
eval vs source

I recently discovered that you can get functionality similar to eval ... with source <(...).

There is some difference in functionality - mostly that eval can be used within some code statement whereas source <(...) requires complete statements. e.g. in someFunction $(eval $someCode) the eval ... cant be replaced with source <(...). The flip side of this is that source <(...) will evaluate everything between the paranthesies, whereas eval will stop evaluating at pipes/newlines/semicolons.

Any other considerations regarding these two that are worth knowing?

Side note: I'm not advocating using these for "general noscripting", but there are some situations where they are useful. Examples of what Id call "reasonable usage" for both are:

eval ...

for nn in $(eval echo {$start..$end..$skip}); do
<...>
done


Yes, I know you can do

nn=$start
while [ $nn -le $end]; do
<...>
nn=$((( $nn + $skip )))
done


but its just an example

source <(...)

# passing an array to a noscript
declare -p arrayName | noscript.sh

# in noscript.sh
source <(cat)


https://redd.it/z6wm7f
@r_bash
New to Bash

Hey everyone...

I'm super new to bash noscripting, I'm working through a class currently and I am stuck. I need help, I'm trying to isolate a particular word and print out the results.

Would I be using awk then pipe and wc? For example, this particular scenario involves searching for individuals who are creating a loss of profit. I need to isolate the people responsible and print it to a new evidence file. I think I just don't have enough practice to understand it yet, any help would be appreciated! If you are curious and want to see the exact code DM me for it.

https://redd.it/z6zq0g
@r_bash
This is my first bash noscript! What do you think? You plug in your droplet ip, your domain and your gitlab info and in 5 minutes your web app is live at https://yourdomain, and all future commits to main are automatically deployed. Included templates for new django, flask and fastApi projects!
https://github.com/johnsyncs/ezinnit

https://redd.it/z74xq9
@r_bash