Dynamic command line generation with awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Dynamic command line generation with awk
# 8  
Old 03-18-2010
Quote:
Originally Posted by Franklin52
Another one. Check the output first without the coloured part:

Code:
#!/bin/sh

file="/home/bags/Scrivania/0280.u3_capitolo15.pdf"

pdfinfo -box "'""$file""'" |	
awk -v f="$file" '
/MediaBox:/{a=$2; b=$3; c=$4; d=$5}
/TrimBox:/{printf("pdfcrop --margins  %.2f %.2f %.2f %.2f \047%s\047 \047%s\047\n", a-$2, b-$3, c-$4, d-$5, f, f)}
' | sh

K,
Here's the solution :P
Code:
#!/bin/sh
file="/home/bags/Scrivania/0280.u3_capitolo15.pdf"
pdfinfo -box "$file" | awk -v f="$file" '/MediaBox:/{a=$2; b=$3; c=$4; d=$5} /TrimBox:/{printf("pdfcrop --margins \"%.2f %.2f %.2f %.2f\" \047%s\047 \047%s\047\n", a-$2, b-$3, $4-c, $5-d, f, "/tmp/tagliati/"f)}' | sh

Thanks to all.

Giovanni

---------- Post updated at 03:57 PM ---------- Previous update was at 02:35 PM ----------

I wrote this that should crop all *.pdf files in /home/bags/Scrivania/

Code:
#!/bin/sh
cd /home/bags/Scrivania/

for file in `ls -r *.pdf`
	do
		echo "$file"
		pdfinfo -box "$file" | awk -v f="$file" '/MediaBox:/{a=$2; b=$3; c=$4; d=$5} /TrimBox:/{printf("pdfcrop --margins \"%.2f %.2f %.2f %.2f\" \047%s\047 \047%s\047\n", a-$2, b-$3, $4-c, $5-d, f, "/tmp/tagliati/"f)}' | sh
		# rm $file
	done

The problem is when a filename cointains blancs Smilie (as example "0020.test tost.pdf")
The "$file" variable takes "0020.test" and then "tost.pdf" Smilie

There's a way to take the complete filename?

Thx,
Giovanni
# 9  
Old 03-18-2010
Code:
for file in *.pdf; do ...

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Tar command generation with Find

Hello, I'm trying to generate a TAR command and fill it with the result of a Find command. What I did is not elegant and I'm sure that it can be in a different way to be faster. I need to Find all files with an extension to ".sf". If a file is found, I need to replace the extension ".sf" to... (11 Replies)
Discussion started by: royinfo.alain
11 Replies

2. Shell Programming and Scripting

Using awk and grep for sql generation

Hi, I have a file pk.txt which has table related data in following format TableName | PK Employee | id Contact|name,phone,country I have another file desc.txt which lists datatype of each field like this: Table|Field|Type Employee|id|int Contact|name|string Contact|country|string... (7 Replies)
Discussion started by: wahi80
7 Replies

3. Shell Programming and Scripting

awk concatenation issue - SQL generation

Greetings Experts, I have an excel file and I am unable to read it directly into awk (contains , " etc); So, I cleansed and copied the data into notepad. I need to generate a script that generates the SQL. Requirement: 1. Filter and select only the data that has the "mapping" as "direct"... (4 Replies)
Discussion started by: chill3chee
4 Replies

4. Shell Programming and Scripting

Dynamic file generation using shell

I have to generate the file dynamically from the source file based on the below control file. control_file.txt 1,3,5,-1,8,-1,4 The control file contain the position of column which i required from the source file, Example 1 column ,3 column ,5 column ,blank column(-1 indicates blank... (2 Replies)
Discussion started by: rspwilliam
2 Replies

5. Shell Programming and Scripting

Pass awk field to a command line executed within awk

Hi, I am trying to pass awk field to a command line executed within awk (need to convert a timestamp into formatted date). All my attempts failed this far. Here's an example. It works fine with timestamp hard-codded into the command echo "1381653229 something" |awk 'BEGIN{cmd="date -d... (4 Replies)
Discussion started by: tuxer
4 Replies

6. Shell Programming and Scripting

Modify line with dynamic variable in awk

Hi, I'm guessing this is probably relatively straight forward to do in awk, but I just can't get my head round it! I have a log file of the following format: 3:03:35 (lmgrd) TIMESTAMP 10/14/2011 3:20:41 (MLM) IN: "MATLAB" user1@host1.private.dns.zone 3:21:05 (MLM) IN: "MATLAB"... (2 Replies)
Discussion started by: chrissycc
2 Replies

7. Shell Programming and Scripting

Random word generation with AWK

Hi - I have a word GTTCAGAGTTCTACAGTCCGACGAT I need to extract all the possible "chunks" of 7 or above letter "words" from this. SO, my out put should be GTTCAGA TTCAGAG TCAGAGT CAGAGTTCT TCCGACGAT CAGTCCGACG etc. How can I do that with awk or any other language? I have no... (2 Replies)
Discussion started by: polsum
2 Replies

8. Shell Programming and Scripting

Dynamic output file generation using a input text file with predefined output format

Hi, I have two files , one file with data file with attributes that need to be sent to another file to generate a predefined format. Example: File.txt AP|{SSHA}VEEg42CNCghUnGhCVg== APVG3|{SSHA}XK|"password" AP3|{SSHA}XK|"This is test" .... etc --------- test.sh has... (1 Reply)
Discussion started by: hudson03051nh
1 Replies

9. Shell Programming and Scripting

assign a command line argument and a unix command to awk variables

Hi , I have a piece of code ...wherein I need to assign the following ... 1) A command line argument to a variable e.g origCount=ARGV 2) A unix command to a variable e.g result=`wc -l testFile.txt` in my awk shell script When I do this : print "origCount" origCount --> I get the... (0 Replies)
Discussion started by: sweta_doshi
0 Replies

10. Shell Programming and Scripting

awk- report generation from input file

I have input file with below content: Person: Name: Firstname1 lastname1 Address: 111, Straat City : Hilversum Person: Name : Fistname2 lastname2 Address: 222, street Cit: Bussum Person: Name : Firstname2 lastname3 Address: 333, station straat City: Amsterdam I need... (6 Replies)
Discussion started by: McLan
6 Replies
Login or Register to Ask a Question