Sponsored Content
Top Forums Shell Programming and Scripting Problem wth spec chars in script Post 303006271 by elxa1 on Monday 30th of October 2017 03:40:28 PM
Old 10-30-2017
Quote:
Originally Posted by jim mcnamara
Your answer is somewhat evasive.

Two ways:
1. use the printf method to embed punctuation and other odd characters. Unless you are using windows do not put \r in anything. expect gets a return from bash reading the script -- and it is a newline, \n

2. you can escape characters ( \ escape in front of each character, so \\ is read by the shell as a backslash, not escape). The shell takes them as literal characters, not some shell command -- example \*\# is an asterisk and an octothorpe (pound sign). Not a wild card and not a start of a comment.
Thank You Jim for your help - and sorry for my late reply. The problem is still actual for me.

So, I suppose, that only proper way for me will be the 1st method. Due to diversity of the passkeys it would be easier than putting backslashes in 2000-marks passkey's for example. The lenght of the keys can differ, and the special chars qty is also random.

About the method you mentioned:

1. I would like to use only in linux, and on linux I also can prepare passlist (unix-type line endings and non viible characters on passlist).

2. If that method (printf) could help - maybe 'expect' will not be essential?

I have tried using expect due to problems with using 7z x -p$klucz (or $passkey) archive.7z
The $ mark is only for calling a variable. That is possible, that on the begginning will be Dollar sign - $ .

Maybe your solution would allow me to use passkeys without bash-processing it in native 7z commands? So, if I can use it as a full text in script - 7z x -p$passkeyfromprintf

Unfortunately - I am starting with bash programming - and I really do not have idea how to use your snippet. Would you like to show me any example how to start using this ?


So, if I would use it my simpler script: (could you please help me with that one?)
"7z t" - 7z TEST, which wll exit when the passkey is bad.

Code:
2var=$(printf "%s%c" "\$klucz" 13)
while read $klucz 
do  7z t -p$2var archive.7z
echo $2var
done<passkeylist.txt

Is that should work?
regards
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to convert C source from 8bit chars to 16bit chars?

I was using the following bash command inside the emacs compile command to search C++ source code: grep -inr --include='*.h' --include='*.cpp' '"' * | sed "/include/d" | sed "/_T/d" | sed '/^ *\/\//d' | sed '/extern/d' Emacs will then position me in the correct file and at the correct line... (0 Replies)
Discussion started by: siegfried
0 Replies

2. UNIX for Advanced & Expert Users

Problem in FTP of file with chinese chars

Hi, I have a file in my PC with Chinese (PRC) characters. When I transfer that file into my AIX5.3 server through FTP, I get junk characters instead of Chinese chars. Last week I copied the content from my notepad and pasted in vi editor. The Chinese characters were correct, but when I try now,... (4 Replies)
Discussion started by: carthyc
4 Replies

3. Shell Programming and Scripting

find 4 chars on 2nd line, 44 chars over

I know this should be simple, but I've been manning sed awk grep and find and am stupidly stumped :( I'm trying to use sed (or awk, find, etc) to find 4 characters on the second line of a file.txt 44-47 characters in. I can find lots of sed things for lines, but not characters. (4 Replies)
Discussion started by: unclecameron
4 Replies

4. Shell Programming and Scripting

wth...can't read my post

something is wrong, I can read every post except mine. Very weird, and extremely anoying I can see replies to my post but can't view them, instead it keeps trying to save the page and open it from downloads... but the downloaded page can't be viewed. Don't suppose someone can copy/paste the thread... (0 Replies)
Discussion started by: gcampton
0 Replies

5. Shell Programming and Scripting

Help wth Net::FTP in script sometimes fails but wsftp always works

Hi, I have a script that transfers files from a Solaris server to target unix servers. The script uses Net::FTP->put to write the files, which can be any number of files, not always the same. This script works flawlessly to many servers. For one particular instance of the script,... (3 Replies)
Discussion started by: csgonan
3 Replies

6. Shell Programming and Scripting

Calling script from a RPM spec file

Hi, I want to execute a script "myscript.sh" in the %post part of a rpm spec file. Suppose the script is placed in /opt/path. Then simply calling like sh /opt/path/myscript.sh from %post part (of that spec file) will suffice? Or there is any other way? (0 Replies)
Discussion started by: saurabhkoar
0 Replies

7. UNIX for Dummies Questions & Answers

Problem with replacing chars in file

my file is : hello1 hello2 hello3_B,dummy,N Need to change to : hello1 hello2 hello3_B,dummy_01,N Can anyone help? Thank you. Please use code tags next time for your code and data. (6 Replies)
Discussion started by: Alyssa
6 Replies

8. UNIX for Advanced & Expert Users

Script monitor website wth default tomcat script

Hi all, on our application server we have the following script that monitor the status of the website, my problem here is that i have edite the retries from 3 to 5, and the timewait to 120 second, so the script should check 5 times every 2 minutes, and if the fifth check fails it must restart... (0 Replies)
Discussion started by: charli1
0 Replies

9. UNIX for Beginners Questions & Answers

Shell script to split data with a delimiter having chars and special chars

Hi Team, I have a file a1.txt with data as follows. dfjakjf...asdfkasj</EnableQuotedIDs><SQL><SelectStatement modified='1' type='string'><! The delimiter string: <SelectStatement modified='1' type='string'><! dlm="<SelectStatement modified='1' type='string'><! The above command is... (7 Replies)
Discussion started by: kmanivan82
7 Replies
Alien::Package::Rpm(3pm)				User Contributed Perl Documentation				  Alien::Package::Rpm(3pm)

NAME
Alien::Package::Rpm - an object that represents a rpm package DESCRIPTION
This is an object class that represents a rpm package. It is derived from Alien::Package. FIELDS
prefixes Relocatable rpm packages have a prefixes field. METHODS
checkfile Detect rpm files by their extention. install Install a rpm. If RPMINSTALLOPT is set in the environement, the options in it are passed to rpm on its command line. scan Implement the scan method to read a rpm file. unpack Implement the unpack method to unpack a rpm file. This is a little nasty because it has to handle relocatable rpms and has to do a bit of permissions fixing as well. prep Prepare for package building by generating the spec file. cleantree Delete the spec file. build Build a rpm. If RPMBUILDOPT is set in the environement, the options in it are passed to rpm on its command line. An optional parameter, if passed, can be used to specify the program to use to build the rpm. It defaults to rpmbuild. version Set/get version. When retreiving the version, remove any dashes in it. postinst postrm preinst prerm Set/get script fields. When retrieving a value, we have to do some truely sick mangling. Since debian/slackware scripts can be anything -- perl programs or binary files -- and rpm is limited to only shell scripts, we need to encode the files and add a scrap of shell script to make it unextract and run on the fly. When setting a value, we do some mangling too. Rpm maintainer scripts are typically shell scripts, but often lack the leading shebang line. This can confuse dpkg, so add the shebang if it looks like there is no shebang magic already in place. Additionally, it's not uncommon for rpm maintainer scripts to contain bashisms, which can be triggered when they are ran on systems where /bin/sh is not bash. To work around this, the shebang line of the scripts is changed to use bash. Also, if the rpm is relocatable, the script could refer to RPM_INSTALL_PREFIX, which is set by rpm at run time. Deal with this by adding code to the script to set RPM_INSTALL_PREFIX. arch Set/get arch field. When the arch field is set, some sanitizing is done first to convert it to the debian format used internally. When it's retreived it's converted back to rpm form from the internal form. AUTHOR
Joey Hess <joey@kitenet.net> perl v5.12.3 2011-06-11 Alien::Package::Rpm(3pm)
All times are GMT -4. The time now is 02:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy