Skip to main content
deleted 1 character in body
Source Link
anon
anon

One variant using sed:

for file in *tif; do newname=$(echo "$file" | sed 's/_//;s/\.\([0-9]\)/\1/g'); mv -v "$file" "$newname"; done
'Sep04_17.00.37.tif' -> 'Sep04170037.tif'
'Sep04_17.02.02.tif' -> 'Sep04170202.tif'
'Sep04_17.05.54.tif' -> 'Sep04170554.tif'
'Sep04_17.07.17.tif' -> 'Sep04170717.tif'
'Sep04_17.08.41.tif' -> 'Sep04170841.tif'

Using mv -v in the example only to show before/after. YMMV.

One variant using sed:

for file in *tif; do newname=$(echo "$file" | sed 's/_//;s/\.\([0-9]\)/\1/g'); mv -v "$file" "$newname"; done
'Sep04_17.00.37.tif' -> 'Sep04170037.tif'
'Sep04_17.02.02.tif' -> 'Sep04170202.tif'
'Sep04_17.05.54.tif' -> 'Sep04170554.tif'
'Sep04_17.07.17.tif' -> 'Sep04170717.tif'
'Sep04_17.08.41.tif' -> 'Sep04170841.tif'

Using mv -v in the example to show before/after. YMMV.

One variant using sed:

for file in *tif; do newname=$(echo "$file" | sed 's/_//;s/\.\([0-9]\)/\1/g'); mv -v "$file" "$newname"; done
'Sep04_17.00.37.tif' -> 'Sep04170037.tif'
'Sep04_17.02.02.tif' -> 'Sep04170202.tif'
'Sep04_17.05.54.tif' -> 'Sep04170554.tif'
'Sep04_17.07.17.tif' -> 'Sep04170717.tif'
'Sep04_17.08.41.tif' -> 'Sep04170841.tif'

Using mv -v in the example only to show before/after.

Post Undeleted by CommunityBot
deleted 162 characters in body
Source Link
anon
anon

One variant using sed:

for file in *tif; 
    do newname=$(echo "$file" | sed 's/_//;s/\.\([0-9]\)/\1/g')
   ; mv -v "$file" "$newname"
"$newname"; done

Result:

'Sep04_17.00.37.tif' -> 'Sep04170037tif''Sep04170037.tif'
'Sep04_17.02.02.tif' -> 'Sep04170202tif''Sep04170202.tif'
'Sep04_17.05.54.tif' -> 'Sep04170554tif''Sep04170554.tif'
'Sep04_17.07.17.tif' -> 'Sep04170717tif''Sep04170717.tif'
'Sep04_17.08.41.tif' -> 'Sep04170841tif''Sep04170841.tif'

Or, using Bash string manipulation:Using mv -v in the example to show before/after. YMMV.

for file in *tif; do 
    newname=$(echo "${file//._}")
    mv "$file" "$newname"
done

One variant using sed:

for file in *tif; 
    do newname=$(echo "$file" | sed 's/_//;s/\.//g')
    mv "$file" "$newname"
done

Result:

'Sep04_17.00.37.tif' -> 'Sep04170037tif'
'Sep04_17.02.02.tif' -> 'Sep04170202tif'
'Sep04_17.05.54.tif' -> 'Sep04170554tif'
'Sep04_17.07.17.tif' -> 'Sep04170717tif'
'Sep04_17.08.41.tif' -> 'Sep04170841tif'

Or, using Bash string manipulation:

for file in *tif; do 
    newname=$(echo "${file//._}")
    mv "$file" "$newname"
done

One variant using sed:

for file in *tif; do newname=$(echo "$file" | sed 's/_//;s/\.\([0-9]\)/\1/g'); mv -v "$file" "$newname"; done
'Sep04_17.00.37.tif' -> 'Sep04170037.tif'
'Sep04_17.02.02.tif' -> 'Sep04170202.tif'
'Sep04_17.05.54.tif' -> 'Sep04170554.tif'
'Sep04_17.07.17.tif' -> 'Sep04170717.tif'
'Sep04_17.08.41.tif' -> 'Sep04170841.tif'

Using mv -v in the example to show before/after. YMMV.

Post Deleted by CommunityBot
Post Undeleted by CommunityBot
added 21 characters in body
Source Link
anon
anon

One variant using sed:

for file in *tif; do
    do newname=$(echo "$file" | sed 's/_//';s/\.//g')
    mv "$file" $newname"$newname"
done

Result:

'Sep04_17.00.37.tif' -> 'Sep04170037tif'
'Sep04_17.02.02.tif' -> 'Sep04170202tif'
'Sep04_17.05.54.tif' -> 'Sep04170554tif'
'Sep04_17.07.17.tif' -> 'Sep04170717tif'
'Sep04_17.08.41.tif' -> 'Sep04170841tif'

Or, using Bash string manipulation:

for file in *tif; do 
    newname=$(echo "${file//._}")
    mv "$file" "$newname"
done

One variant using sed:

for file in *tif; do
newname=$(echo "$file" | sed 's/_//')
mv "$file" $newname
done

One variant using sed:

for file in *tif; 
    do newname=$(echo "$file" | sed 's/_//;s/\.//g')
    mv "$file" "$newname"
done

Result:

'Sep04_17.00.37.tif' -> 'Sep04170037tif'
'Sep04_17.02.02.tif' -> 'Sep04170202tif'
'Sep04_17.05.54.tif' -> 'Sep04170554tif'
'Sep04_17.07.17.tif' -> 'Sep04170717tif'
'Sep04_17.08.41.tif' -> 'Sep04170841tif'

Or, using Bash string manipulation:

for file in *tif; do 
    newname=$(echo "${file//._}")
    mv "$file" "$newname"
done
Post Deleted by CommunityBot
Source Link
anon
anon
Loading