modvar=( IP_TABLES IPT_REDIRECT IPT_MASQUERADE IPT_MARK IPT_REJECT IPT_TOS IPT_LOG IPTABLE_MANGLE IPTABLE_FILTER IPTABLE_NAT IP_NAT IP_CONNTRACK IPT_MAC IPT_STATE IPT_MARK) yesvar=( CONFIG_ASK_IP_FIB_HASH CONFIG_INET CONFIG_BRIDGE CONFIG_INET_DIAG CONFIG_INET_TCP_DIAG CONFIG_IP_ADVANCED_ROUTER CONFIG_IP_FIB_HASH CONFIG_IP_MULTICAST CONFIG_IP_NF_CONNTRACK CONFIG_IP_NF_CONNTRACK_EVENTS CONFIG_IP_NF_CONNTRACK_MARK CONFIG_IP_NF_CT_ACCT CONFIG_IP_NF_FILTER CONFIG_IP_NF_FTP CONFIG_IP_NF_IPTABLES CONFIG_IP_NF_IRC CONFIG_IP_NF_MANGLE CONFIG_IP_NF_MATCH_ADDRTYPE CONFIG_IP_NF_MATCH_AH_ESP CONFIG_IP_NF_MATCH_DSCP CONFIG_IP_NF_MATCH_ECN CONFIG_IP_NF_MATCH_HASHLIMIT CONFIG_IP_NF_MATCH_IPRANGE CONFIG_IP_NF_MATCH_MULTIPORT CONFIG_IP_NF_MATCH_OWNER CONFIG_IP_NF_MATCH_RECENT CONFIG_IP_NF_MATCH_TOS CONFIG_IP_NF_MATCH_TTL CONFIG_IP_NF_NAT CONFIG_IP_NF_NAT_FTP CONFIG_IP_NF_NAT_IRC CONFIG_IP_NF_NAT_NEEDED CONFIG_IP_NF_NAT_SNMP_BASIC CONFIG_IP_NF_RAW CONFIG_IP_NF_TARGET_CLUSTERIP CONFIG_IP_NF_TARGET_DSCP CONFIG_IP_NF_TARGET_ECN CONFIG_IP_NF_TARGET_LOG CONFIG_IP_NF_TARGET_MASQUERADE CONFIG_IP_NF_TARGET_NETMAP CONFIG_IP_NF_TARGET_REDIRECT CONFIG_IP_NF_TARGET_REJECT CONFIG_IP_NF_TARGET_SAME CONFIG_IP_NF_TARGET_TCPMSS CONFIG_IP_NF_TARGET_TOS CONFIG_IP_NF_TARGET_TTL CONFIG_IP_NF_TARGET_ULOG CONFIG_KMOD CONFIG_MODULES CONFIG_NET CONFIG_NETFILTER CONFIG_NETFILTER_XTABLES CONFIG_NETFILTER_XT_MATCH_COMMENT CONFIG_NETFILTER_XT_MATCH_CONNTRACK CONFIG_NETFILTER_XT_MATCH_DCCP CONFIG_NETFILTER_XT_MATCH_HELPER CONFIG_NETFILTER_XT_MATCH_LENGTH CONFIG_NETFILTER_XT_MATCH_LIMIT CONFIG_NETFILTER_XT_MATCH_MAC CONFIG_NETFILTER_XT_MATCH_MARK CONFIG_NETFILTER_XT_MATCH_PKTTYPE CONFIG_NETFILTER_XT_MATCH_REALM CONFIG_NETFILTER_XT_MATCH_SCTP CONFIG_NETFILTER_XT_MATCH_STATE CONFIG_NETFILTER_XT_MATCH_STRING CONFIG_NETFILTER_XT_MATCH_TCPMSS CONFIG_NETFILTER_XT_TARGET_CLASSIFY CONFIG_NETFILTER_XT_TARGET_MARK CONFIG_NETFILTER_XT_TARGET_NFQUEUE CONFIG_NET_CLS_ROUTE CONFIG_OBSOLETE_MODPARM CONFIG_PACKET CONFIG_PACKET_MMAP CONFIG_TCP_CONG_BIC CONFIG_UNIX ) modvar=( IP_TABLES IPT_REDIRECT IPT_MASQUERADE IPT_MARK IPT_REJECT IPT_TOS IPT_LOG IPTABLE_MANGLE IPTABLE_FILTER IPTABLE_NAT IP_NAT IP_CONNTRACK IPT_MAC IPT_STATE IPT_MARK ) touch foo.sh rm foo.sh for var in ${yesvar[@]}; do comment='\# '$var; removecomment='s/'$comment'=/'$var'=/'; yes=$var'=y' no=$var'=n' makeyes='s/'$no'/'$yes'/'; command="sed -e '"$removecomment"' .config | sed -e '"$makeyes"' > tmp"; echo $command; echo $command >> foo.sh; echo mv tmp .config >> foo.sh; done for var in ${modvar[@]}; do comment='\# '$var; removecomment='s/'$comment'=/'$var'=/'; yes=$var'=y' no=$var'=n' makemodA='s/'$no'/'$m'/'; makemodB='s/'$yes'/'$m'/'; command="sed -e '"$removecomment"' .config | sed -e '"$makemodA"' | sed -e '"$makemodB"' > tmp"; echo $command; echo $command >> foo.sh; echo mv tmp .config >> foo.sh; done bash foo.sh