summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-03-25 12:08:37 +0100
committerErich Eckner <git@eckner.net>2019-03-25 12:08:37 +0100
commitaec37e67c6702dee48e30758d024bd6d95044a94 (patch)
treeccbc9fe424ed30106fb8ae1eb2f49ace486e4346
parent8a36d974e574781662cc87805c8a8a4717266a5f (diff)
downloaddmarc-aggregate-viewer-aec37e67c6702dee48e30758d024bd6d95044a94.tar.xz
bin/extract-attachment: also correctly extract attachments from non-multipart messages
-rwxr-xr-xbin/extract-attachment21
1 files changed, 14 insertions, 7 deletions
diff --git a/bin/extract-attachment b/bin/extract-attachment
index b28a691..b8824b2 100755
--- a/bin/extract-attachment
+++ b/bin/extract-attachment
@@ -15,12 +15,19 @@ last_line=$(
| tail -n1
)
-borders=$(
- printf '%s\n' "${cnt}" \
- | grep -nxF -- "${last_line%--}" \
- | cut -d: -f1
- printf '%s\n' '$'
-)
+if [ -z "${last_line##*--}" ]; then
+ borders=$(
+ printf '%s\n' "${cnt}" \
+ | grep -nxF -- "${last_line%--}" \
+ | cut -d: -f1
+ printf '%s\n' '$'
+ )
+else
+ borders=$(
+ printf '%s\n' '1' '$'
+ )
+ last_line="${last_line}qwertzuiop"
+fi
start=''
decode=false
@@ -30,7 +37,7 @@ for end in ${borders}; do
printf '%s\n' "${cnt}" \
| sed -n "
${start} d
- ${end} d
+ ${end} { /^${last_line}\$/ d }
${start},${end} p
" \
| sed '