Sponsored Content
Full Discussion: Grep Command Help
Top Forums UNIX for Beginners Questions & Answers Grep Command Help Post 303045116 by DanilOnTheSky on Thursday 12th of March 2020 07:14:38 AM
Old 03-12-2020
Grep Command Help

Hello Unix Forum,


I am trying to create an bash script to expand a LVM disk, I mean, trying to automatize all the process from the video bellow:
Youtube search:



How To Extend LVM Disk For Linux Virtual Machine On VMware



At this point, I am very new in bash script and I am facing this just as a try, I don't know if I will get the final result that I need.


Well, I am stuck at the grep option bellow:


Code:
#!/bin/bash
# Increase LVM Disk
echo"$(fdisk -l)"
echo Which disk you want to increase the size? "(Please provide the full path, Example: /dev/sda2):"
read disk1
diskcompare="$(fdisk -l | grep "$disk1 " -o --max-count=1)"
if [ "$diskcompare" ==  "$disk1 " ]; then
echo"Valid Disk."
else
echo"Invalid Disk."
fi

I would like to compare the path (disk1) with the fdisk -l command to check if it is a valid disk.


The problem is that the way that it is writed at the moment it accept you to continue the script if you not type the entire path, example:
Code:
[root@linuxtest ~]# ./test.sh

Disk /dev/sda: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d345c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    16777215     7339008   8e  Linux LVM
/dev/sda3        16777216    31457279     7340032   8e  Linux LVM

Disk /dev/mapper/centos-root: 14.2 GB, 14164164608 bytes, 27664384 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 859 MB, 859832320 bytes, 1679360 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Which disk you want to increase the size? (Please provide the full path, Example: /dev/sda2):
/sda2
Valid Disk.
[root@linuxtest ~]#

It should match only the exactly values /dev/sda1 , /dev/sda2 or /dev/sda3.


Any help will be welcomed Smilie


Ty!

Last edited by Scrutinizer; 03-12-2020 at 09:14 AM.. Reason: quote tags -> code tags; Removed non-existing-font definition; Removed multi-color
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

grep command

I want to list all files created in a day but it doesn't work $ day=\'`date "+%b %d"`\' $ echo $day >>> 'Mar 12' $ ll |grep $day >>> can't open 12' ????? please help me (3 Replies)
Discussion started by: Medhi
3 Replies

2. UNIX for Advanced & Expert Users

how to exclude the GREP command from GREP

I am doing "ps -f" to see my process. but I get lines that one of it represents the ps command itself. I want to grep it out using -v flag, but than I get another process that belongs to the GREP itself : I would like to exclude # ps -f UID PID PPID C STIME TTY TIME CMD... (2 Replies)
Discussion started by: yamsin789
2 Replies

3. UNIX for Advanced & Expert Users

How to use grep command

I want to search pattern in between two words in a file so how to write query by using grep command?? Also want to get two words.. (2 Replies)
Discussion started by: ksr.test
2 Replies

4. UNIX for Advanced & Expert Users

how to use grep command

In my file contains special characters,alphanumerics all thease characters how to search the pattern between two strings that contains special characters Ex: find pattern between allocation_map_128*2 to creative.clicks_allocate != KNULL so there are special characters in my... (1 Reply)
Discussion started by: ksr.test
1 Replies

5. UNIX for Dummies Questions & Answers

GREP Command

Hi, I am new to UNIX environment, to find a contents from a given files i have used the command "grep -l "<search word>" *.txt, it is given the file names which contains that particular word, but it is anyway to get entire details of the file .., i need the output like ls -ltr, filename... (3 Replies)
Discussion started by: subrahmaniank
3 Replies

6. UNIX for Dummies Questions & Answers

Need help with grep command

Hi guys, i wondering with any1 could help me with this. I have this script will i need to "grep" an integer form a file x2. If the value is 0 then it's ok. But anything greater then 0, i'll ask the script to echo an error message. This is how the script looks like: MESSAGEFILE=x2 STRING="0" ... (5 Replies)
Discussion started by: hanyou.lin
5 Replies

7. Shell Programming and Scripting

can anyone help with shell script command about searching word with grep command?

i want to search in the current directory all the files that contain one word for example "hello" i want to achieve it with the grep command but not with the grep * (2 Replies)
Discussion started by: aintour
2 Replies

8. Shell Programming and Scripting

Help with using grep command with copy command

Hi, im taking an entry Unix class, and as part of my lab assignment I have to copy all files in the /home/david/lab3 directory that have the file extension .save to your lab3/temp directory. I'm having trouble getting the grep to do anything worth while I've been trying to do: cp... (6 Replies)
Discussion started by: Critical jeff
6 Replies

9. Shell Programming and Scripting

Grep Command

I have one text file, contains some values like <Q1:Name>1000000</Q1:Name>. I want to read the values and stores into an array for searching the each values into a file locations. If I use this find location |xargs grep -l "<Q1:Location>100000055042</Q1:Location>",I get the files, are having... (7 Replies)
Discussion started by: arindam guha
7 Replies

10. Shell Programming and Scripting

Grep command giving different result for different users for same command

Hello, I am running below command as root user #nodetool cfstats tests | grep "Memtable switch count" Memtable switch count: 12 Where as when I try to run same command as another user it gives different result. #su -l zabbix -s /bin/bash -c "nodetool cfstats tests | grep "Memtable switch... (10 Replies)
Discussion started by: Pushpraj
10 Replies
PMDABASH(1)						      General Commands Manual						       PMDABASH(1)

NAME
pmdabash - Bourne-Again SHell trace performance metrics domain agent SYNOPSIS
$PCP_PMDAS_DIR/bash/pmdabash [-C] [-d domain] [-l logfile] [-I interval] [-t timeout] [-U username] configfile DESCRIPTION
pmdabash is an experimental Performance Metrics Domain Agent (PMDA) which exports "xtrace" events from a traced bash(1) process. This includes the command execution information that would usually be sent to standard error with the set -x option to the shell. Event metrics are exported showing each command executed, the function name and line number in the script, and a timestamp. Additionally, the process identifier for the shell and its parent process are exported. This requires bash version 4 or later. A brief description of the pmdabash command line options follows: -d It is absolutely crucial that the performance metrics domain number specified here is unique and consistent. That is, domain should be different for every PMDA on the one host, and the same domain number should be used for the same PMDA on all hosts. -l Location of the log file. By default, a log file named bash.log is written in the current directory of pmcd(1) when pmdabash is started, i.e. $PCP_LOG_DIR/pmcd. If the log file cannot be created or is not writable, output is written to the standard error instead. -s Amount of time (in seconds) between subsequent evaluations of the shell trace file descriptor(s). The default is 2 seconds. -m Maximum amount of memory to be allowed for each event queue (one per traced process). The default is 2 megabytes. -U User account under which to run the agent. The default is the unprivileged "pcp" account in current versions of PCP, but in older versions the superuser account ("root") was used by default. INSTALLATION
In order for a host to export the names, help text and values for the bash performance metrics, do the following as root: # cd $PCP_PMDAS_DIR/bash # ./Install As soon as an instrumented shell script (see INSTRUMENTATION selection below) is run, with tracing enabled, new metric values will appear - no further setup of the agent is required. If you want to undo the installation, do the following as root: # cd $PCP_PMDAS_DIR/bash # ./Remove pmdabash is launched by pmcd(1) and should never be executed directly. The Install and Remove scripts notify pmcd(1) when the agent is installed or removed. INSTRUMENTATION
In order to allow the flow of event data between a bash(1) script and pmdabash, the script should take the following actions: #!/bin/sh source $PCP_DIR/etc/pcp.sh pcp_trace on $@ # enable tracing echo "awoke, $count" pcp_trace off # disable tracing The tracing can be enabled and disabled any number of times by the script. On successful installation of the agent, several metrics will be available: $ pminfo bash bash.xtrace.numclients bash.xtrace.maxmem bash.xtrace.queuemem bash.xtrace.count bash.xtrace.records bash.xtrace.parameters.pid bash.xtrace.parameters.parent bash.xtrace.parameters.lineno bash.xtrace.parameters.function bash.xtrace.parameters.command When an instrumented script is running, the generation of event records can be verified using the pmevent(1) command, as follows: $ pmevent -t 1 -x '' bash.xtrace.records host: localhost samples: all bash.xtrace.records["4538 ./test-trace.sh 1 2 3"]: 5 event records 10:00:05.000 --- event record [0] flags 0x19 (point,id,parent) --- bash.xtrace.parameters.pid 4538 bash.xtrace.parameters.parent 4432 bash.xtrace.parameters.lineno 43 bash.xtrace.parameters.command "true" 10:00:05.000 --- event record [1] flags 0x19 (point,id,parent) --- bash.xtrace.parameters.pid 4538 bash.xtrace.parameters.parent 4432 bash.xtrace.parameters.lineno 45 bash.xtrace.parameters.command "(( count++ ))" 10:00:05.000 --- event record [2] flags 0x19 (point,id,parent) --- bash.xtrace.parameters.pid 4538 bash.xtrace.parameters.parent 4432 bash.xtrace.parameters.lineno 46 bash.xtrace.parameters.command "echo 'awoke, 3'" 10:00:05.000 --- event record [3] flags 0x19 (point,id,parent) --- bash.xtrace.parameters.pid 4538 bash.xtrace.parameters.parent 4432 bash.xtrace.parameters.lineno 47 bash.xtrace.parameters.command "tired 2" 10:00:05.000 --- event record [4] flags 0x19 (point,id,parent) --- bash.xtrace.parameters.pid 4538 bash.xtrace.parameters.parent 4432 bash.xtrace.parameters.lineno 38 bash.xtrace.parameters.function "tired" bash.xtrace.parameters.command "sleep 2" FILES
$PCP_PMCDCONF_PATH command line options used to launch pmdabash $PCP_PMDAS_DIR/bash/help default help text file for the bash metrics $PCP_PMDAS_DIR/bash/Install installation script for the pmdabash agent $PCP_PMDAS_DIR/bash/Remove undo installation script for pmdabash $PCP_LOG_DIR/pmcd/bash.log default log file for error messages and other information from pmdabash PCP ENVIRONMENT
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configura- tion file, as described in pcp.conf(5). SEE ALSO
bash(1), pmevent(1) and pmcd(1). Performance Co-Pilot PCP PMDABASH(1)
All times are GMT -4. The time now is 10:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy