要读取适合文件的标题,我在bash中使用此命令:
hexdump -e '"%_ad\t" 80/1 "%_p" "\n"' astlimits.fits | less
此处,拟合文件可以从网站下载:
http://das.sdss.org/contents/fits/astlimits.fits
现在我尝试在BASH中创建一个别名:
alias fitsheader='hexdump -e \'"%_ad\t" 80/1 "%_p" "\n"\''
但是,它不起作用 正确的语法是什么,以便以下命令有效:
fitsheader astlimits.fits | less
答案 0 :(得分:1)
在Bash(和其他POSIX兼容的shell)中不支持在单引号字符串中嵌套单引号。
但是,您可以使用ANSI C-quoted string ($'...'
) ,其中'
可以引用(转义)\'
。
alias fitsheader=$'hexdump -e \'"%_ad\t" 80/1 "%_p" "\n"\''
请注意,\t
和\n
将被$...
扩展为文字标签和新行预先,但是,在这里没有什么区别;如果有疑问,请将原始字符串中的所有\
个实例加倍。
但一般来说,考虑使用一个函数chepner suggests ,因为它避免了引用的麻烦并且是可扩展的。
答案 1 :(得分:0)
fitsheader () {
hexdump -e '"%_ad\t" 80/1 "%_p" "\n"' "$1"
}