I'm assuming that the file format is: "2 lines, blank [line], 2 lines, blank [line] ... " However, I am not sure if the awk was a requirement or not. If so, then there are a number of awk solutions above; if not, then here are a few alternatives:
Code:
#!/usr/bin/env bash
# @(#) s1 Demonstrate UPPERCASE specific lines, sed.
# Utility functions: print-as-echo, print-line-with-visual-space, debug.
# export PATH="/usr/local/bin:/usr/bin:/bin"
LC_ALL=C ; LANG=C ; export LC_ALL LANG
pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
em() { pe "$*" >&2 ; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
db() { : ; }
C=$HOME/bin/context && [ -f $C ] && $C sed perl pass-fail
FILE=${1-data1}
E=expected-output.txt
pl " Input data file $FILE:"
cat $FILE
pl " Expected output:"
cat $E
# GNU sed, address: first~step
# Match every step'th line starting with line first.
# man sed
#
# sed 's/\(.*\)/\L\1/' # but use "U" for uppercase
# http://stackoverflow.com/questions/4569825/sed-one-liner-to-convert-all-uppercase-to-lowercase
pl " Results, GNU sed "s":"
sed '2~3s/\(.*\)/\U\1/' $FILE
pl " Results, GNU sed "s", extended RE, more readable:"
sed -r '2~3s/(.*)/\U\1/' $FILE
pl " Results, GNU sed "s", extended RE, '&' = whatever is matched:"
sed -r '2~3s/.*/\U&/' $FILE
pl " Results, GNU sed "y":"
sed '2~3y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' $FILE
pl " Results, perl:"
perl -wp -e 'BEGIN{$p=2};if ( $. == $p ) { y/[a-z][A-Z]/[A-Z][a-z]/; $p += 3; }' $FILE |
tee f1
# Check final result automatically.
pass-fail
exit 0
producing:
Code:
$ ./s1
Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 3.16.0-4-amd64, x86_64
Distribution : Debian 8.4 (jessie)
bash GNU bash 4.3.30
sed (GNU sed) 4.2.2
perl 5.20.2
pass-fail - ( local: RepRev 1.6, ~/bin/pass-fail, 2016-07-23 )
-----
Input data file data1:
a
b
c
d
e
f
-----
Expected output:
a
B
c
D
e
F
-----
Results, GNU sed s:
a
B
c
D
e
F
-----
Results, GNU sed s, extended RE, more readable:
a
B
c
D
e
F
-----
Results, GNU sed s, extended RE, '&' = whatever is matched:
a
B
c
D
e
F
-----
Results, GNU sed y:
a
B
c
D
e
F
-----
Results, perl:
a
B
c
D
e
F
-----
Comparison of 8 created lines with 8 lines of desired results:
Succeeded -- files (computed) f1 and (standard) expected-output.txt have same content.
Hi!
I pass a parameter to a script code and I have to make it upper case before use:
$ MyShell aBcDe
script code:
UpperVariable=function($1)
I can't know how make function, maybe some sed option?
Thank You,
PARIDE (1 Reply)
Hi Gurus,
This is my script:
echo ""
echo "Do you want to execute DWH Test Program?"
echo ""
echo -n "Okay?("y" or "n")=> "
set ret = $<
if ($ret != "y") then
echo ""
echo ""
echo "End."
exit 0
How can I make this script accept uppercase as well?... (8 Replies)
Hi experts,
You cool guys already given me the awk script below-
awk '/9366109380/,printed==5 { ++printed; print; }' 2008-09-14.0.log
Morever, i have one more things-
when i awk 9366109380, i can also see the Upper 3 lines as well as below 5 lines of that string.
Line 1.... (3 Replies)
Hi
I am working in ksh and need to convert the following line into lower case:
N344 N228 P227 N115 P116 N332 P331 P343 P293 N342 N294 N335 N329 P330 P336 P097 P092 N098 P334 N337 P345 P338 N091 N333
so the output should look like this:
n344 n228 p227 n115 p116 n332 p331 p343 p293 n342... (5 Replies)
What is the command to change the contents of a file to UPPER case. Here in this file below you see some characters are Sp, Ch
1200812270046581
22885072800000652 B86860003OLFXXX592123320081227
22885029800000652 B86860003ODL-Sp592123420081227
22885093700000652-B94030001ODL-Ch592123520081227... (4 Replies)
Hi,
I think this is a weird problem.
I have two files...one with all UPPER case and the other one with a mix of upper and lower.
Match each record in file1 against record in file2, if they match, then change the record in file1 to that of record in file2.
Thanks in advance. (2 Replies)
I am trying to get a script to print out whether a directory is lowercase uppercase or both. This is what I've got so far:
echo -e read "enter name"
read server
for DIR in $(find /tmp/$server -type d -prune | sed 's/\.\///g');do if expr match "$server" "*$" > /dev/null; then echo "$server -... (7 Replies)
I have a file
file_name1=RYK11603_PLK5692601_RKYADAV.PDF
i am using the below command to convert this file to RYK11603_5692601.pdf
file_name=$(echo ${file_name1}| cut -d"#" -f2| sed "s/\(*\)_PLK\(*\)_\(*\).PDF/\1_\2.pdf/")
but no success can somebody help on thi. (13 Replies)
Hi All,
I want to change the out put of a decode file from lower to upper. i used tr command but facing issue.
set -vx
id=$(id)
dt=$(date)
store=$1
if ]; then
cd $APPL_TOP/local/bin
cp .sqlpass.Z $$.temp.Z
uncompress $$.temp.Z
sed -e s/sqlpass/$$.sqlpass/ $$.temp >... (5 Replies)
NWBPSET(1) nwbpset NWBPSET(1)NAME
nwbpset - Create a bindery property or set its value
SYNOPSIS
nwbpset [ -h ] [ -S server ] [ -U user name ] [ -P password | -n ] [ -C ]
DESCRIPTION
nwbpset Reads a property specification from the standard input and creates and sets the corresponding property. The format is determined by
the output of 'nwbpvalues -c'. nwbpset will hopefully become an important part of the bindery management suite of ncpfs, together with
As another example, look at the following command line:
nwbpvalues -t 1 -o supervisor -p user_defaults -c |
sed '2s/.*/ME/'|
sed '3s/.*/LOGIN_CONTROL/'|
nwbpset
With this command, the property user_defaults of the user object 'supervisor' is copied into the property login_control of the user object
'me'.
nwbpvalues -t 1 -o me -p login_control -c |
sed '9s/.*/ff/'|
nwbpset
This command disables the user object me.
Feel free to contribute other examples!
nwbpset looks up the file $HOME/.nwclient to find a file server, a user name and possibly a password. See nwclient(5) for more information.
Please note that the access permissions of $HOME/.nwclient MUST be 600 for security reasons.
OPTIONS -h
-h is used to print out a short help text.
-S server
server is the name of the server you want to use.
-U user
user is the user name to use for login.
-P password
password is the password to use for login. If neither -n nor -P are given, and the user has no open connection to the server, nwbpset
prompts for a password.
-n
-n should be given if no password is required for the login.
-C
By default, passwords are converted to uppercase before they are sent to the server, because most servers require this. You can turn off
this conversion by -C.
AUTHORS
nwbpset was written by Volker Lendecke. See the Changes file of ncpfs for other contributors.
nwbpset 8/7/1996 NWBPSET(1)