mirror of
				https://github.com/DaoCloud/public-image-mirror.git
				synced 2025-11-04 08:26:16 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			944 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			944 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
function check_match() {
 | 
						|
    local image=$1
 | 
						|
    local lines=$2
 | 
						|
    for line in ${lines}; do
 | 
						|
        if [[ "${line}" == *"**" ]]; then
 | 
						|
            if [[ "${image}" == "${line%\*\*}"* ]]; then
 | 
						|
                return
 | 
						|
            fi
 | 
						|
        elif [[ "${line}" == *"*" ]]; then
 | 
						|
            if [[ "${image}" == "${line%\*}"* ]]; then
 | 
						|
                if [[ "${image#"${line%\*}"}" != *"/"* ]]; then
 | 
						|
                    return
 | 
						|
                fi
 | 
						|
            fi
 | 
						|
        fi
 | 
						|
    done
 | 
						|
 | 
						|
    echo "${image}"
 | 
						|
}
 | 
						|
 | 
						|
function format() {
 | 
						|
    local file=$1
 | 
						|
    local lines="$(cat "${file}")"
 | 
						|
    for line in ${lines}; do
 | 
						|
        if [[ "${line}" != *"*" ]]; then
 | 
						|
            check_match  "${line}" "${lines}"
 | 
						|
        fi
 | 
						|
    done
 | 
						|
 | 
						|
    for line in ${lines}; do
 | 
						|
        if [[ "${line}" == *"*" ]]; then
 | 
						|
            echo ${line}
 | 
						|
        fi
 | 
						|
    done
 | 
						|
}
 | 
						|
 | 
						|
export LC_ALL=C
 | 
						|
file=$1
 | 
						|
 | 
						|
format "${file}" |
 | 
						|
    sort -u |
 | 
						|
    grep -v '^$' >$1.tmp && mv $1.tmp $1
 |