Passing Variable in sed

Dear All,
I want to print a file.
First I tried with this
sed '2q;d' filename
it worked. But when i put following it is not working
x=2;
sed '$xq;d' filename

Would any one suggest how to pass the variable?

Same stuff can be done using awk as below.

awk -v var=$x '{if(NR==var) print $NR}' filename

bash-2.05$ echo $x
2
bash-2.05$ awk -v var=$x '{if(NR==var) print $NR}' uvc_sample_1.txt
awk: syntax error near line 1
awk: bailing out near line 1

is not working :frowning:

You may try using any other awk variant (like nawk)

Hi,

Try using :
sed "$xq;d" filename

It should work.

sed "$x"q filename
sed "${x}q;d" filename

Thanks to all of you. At last it is done. Special thanks to Mr. chebarbudo.