laptop-scripts/utils.sh
2020-01-29 13:33:53 +01:00

53 lines
938 B
Bash
Executable file

#!/bin/bash
function prefix_time(){
while read LINE; do
echo "["$(date)"] "$LINE
done
}
function one_token_per_line(){
for L in $1; do
echo $L
done
}
function choose_one(){
if [ $# -eq 0 ]; then
echo missing argument 1>&2
exit 1
fi
if [ "$1" = "-" ]; then
touch internal_pipe
CNT=0
tee internal_pipe | while read LINE; do
CNT=$(($CNT+1))
echo " "$CNT" > "$LINE
done
read -p "enter a number: " -u 1 NUM
CNT=$(cat internal_pipe | wc -l)
if [ "" = $NUM ]; then echo empty input; exit 1; fi
if [ 0 -ge $NUM ]; then echo too small; exit 1; fi
if [ $CNT -lt $NUM ]; then echo too large; exit 1; fi
cat internal_pipe | head -n +$NUM | tail -n +$NUM
rm internal_pipe
else
cat $1 | choose_one -
fi
}
function block_devices(){
#lsblk -fPpo NAME,FSTYPE,LABEL,UUID,FSAVAIL,MOUNTPOINT
lsblk -frpno NAME
}
function foo(){
while read LINE; do
(
export $LINE
echo "> "$NAME
)
done
}